云服务器内容精选

  • IOS设备上登录Linux云服务器 如果您使用iOS设备,请确保已经安装了SSH客户端工具,以Termius为例。本示例中使用CentOS 7.6操作系统,使用用户名和密码进行认证。 启动Termius,单击New Host。 图1 New Host 在SSH页面上,输入连接信息后,单击 Save。需要输入的连接信息包括: Alias:指定Host名称,如本例中,设置为ecs01。 Hostname:输入需要连接的 Linux 实例的公网IP地址。 Use SSH:打开SSH登录配置。 Host:输入需要连接的Linux实例的公网IP地址。 Port:输入端口号22。 用户名:输入用户名root。 密码:输入实例登录密码。 图2 输入连接信息 单击右上角的“Save”,保存登录信息,在Hosts页面,单击连接的名称远程连接服务器。 图3 保存登录信息 当出现如图4所示页面时,您已经成功地连接了Linux云服务器。 图4 已连接
  • Android设备上登录Linux云服务器 如果您使用Android设备,请确保已经安装了JuiceSSH。本示例中使用CentOS 7.6操作系统,通过用户名和密码进行认证。 启动JuiceSSH,单击“连接”。 图5 启动JuiceSSH 在“连接”页面单击图标。 图6 连接 在“新建连接”页面上,添加基本设置和高级设置的信息并保存。需要添加的信息如下: 昵称:指定登录会话的名称,如本例中,设置为“linux_test”。 类型:使用默认值“SSH”。 地址:输入需要登录的Linux实例的弹性公网IP地址。 按以下步骤设置认证: 单击“认证”,在下拉列表里单击“新建”。 在“新建认证”页面上,添加如下信息后,单击图标。 昵称:可选项,您可以根据需要设置一个身份名称,方便后续管理。如本示例中,设置为“linux_test”。 用户名:输入用户名“root”。 密码:单击“设置(可选)”后,输入实例的登录密码,单击“确定”。 图7 新建认证 端口:输入端口号“22”。 图8 端口号 在“连接”页面单击创建好的连接。 图9 单击连接 确认提示信息后,单击“接受”。 图10 确认提示信息 (可选)第一次连接时,JuiceSSH会提示您如何设置字体大小,如何弹出键盘等。确认信息后,单击“好的,我知道了!”。 图11 教程 至此,您已经成功登录Linux实例。 图12 登录Linux实例
  • 快速入门 以下教程将引导您了解并使用QingTian Enclave特性,包括如何启动QingTian Enclave父虚拟机,如何构建QingTian Enclave镜像文件,如何查询正在运行的QingTian Enclave,以及停止QingTian Enclave。 准备一台支持QingTian Enclave特性的虚拟机实例 在购买虚拟机时,您需要在高级选项中勾选Enclave,并选择Linux作为系统镜像。建议使用HCE2.0镜像。 连接到父虚拟机,请参考华为云E CS 用户指南。 在父虚拟机中安装qt CLI工具,并在配置文件中按需设置资源隔离参数,然后启动资源隔离服务。使用qt CLI工具需要安装必要的python库,详情请见QingTian CLI(qt CLI)。 您可以安装qt CLI工具和其他必要rpm包: yum install qt-enclave-bootstrap yum install virtio-qtbox yum install qingtian-tool 在配置文件中按需配置隔离参数,本教程内使用默认1G内存,2个vCPU。然后启动隔离服务: systemctl start qt-enclave-env 在父虚拟机中安装Docker程序,我们推荐使用二进制的方式进行Docker安装,可以在Docker官方网站下载需要版本。这里以18.09.9为例: wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.9.tgz 对下载的压缩包进行解压操作: tar zxf docker-18.09.9.tgz 解压完成后将docker目录下所有文件复制到/usr/bin目录下: cp docker/* /usr/bin 启动docker服务,并将日志等级设置为error等级: dockerd -l error & 验证Docker版本: docker version 运行hello-world容器,查看Docker是否安装正确: docker run hello-world 构建QingTian Enclave镜像 本教程中,使用以下hello_enclave.sh脚本作为QingTian Enclave应用程序: #!/bin/bash while true do echo "hello enclave!" sleep 2 done Dockerfile内容如下: FROM ubuntu:latest COPY hello_enclave.sh /root/hello_enclave.sh CMD ["/root/hello_enclave.sh"] 确认脚本有可执行权限: chmod +x hello_enclave.sh 构建一个名为hello-enclave的Docker镜像: docker build -f Dockerfile -t hello-enclave . 使用qt enclave make-img命令将Docker镜像转换为名为hello-enclave.eif的QingTian Enclave镜像: qt enclave make-img --docker-uri hello-enclave --eif hello-enclave.eif 输出为: # qt enclave make-img --docker-uri hello-enclave --eif hello-enclave.eif { "digest": "SHA384", "PCR0": "63bf78ece7d2388ff773d0cad2ebc9a3070359db46d567ba271ff8adfb8b0b091be4ff4d5dda3f1c83109096e3656f3b", "PCR8": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } 现在已经构建了名为hello-enclave.eif的QingTian Enclave镜像,命令包含了一系列PCR值,包括PCR0和PCR8(该例子中制作镜像时并没有指定证书和密钥,所以PCR8为0)。这些哈希值是在Enclave镜像构建时产生的测量值,它们通常作为预期的测量值(相对于证明文档中所包含的启动时测量值而言)。 运行QingTian Enclave实例 现在可以使用以下命令来运行QingTian Enclave镜像: qt enclave start --mem 1024 --cpus 2 --eif hello-enclave.eif --cid 4 --debug-mode 该实例运行在debug-mode,关于debug-mode详情可见qt enclave子命令介绍。 您会看到以下输出: # qt enclave start --cpus 2 --mem 1024 --eif hello-enclave.eif --cid 4 --debug-mode Started enclave with EnclaveID : 0, EnclaveCID : 4, NumberOfCPUs : 2, MemoryMiB : 1024 { "EnclaveID": 0, "EnclaveCID": 4, "NumberOfCPUs": 2, "MemoryMiB": 1024, "LaunchMode": "debug" } 在该教程中,我们为该QingTian Enclave实例分配了2个vCPU和1024M内存,并指定其cid为4,该cid可作为QingTian Enclave实例与父虚拟机实例之间的本地套接字的IP地址。 查询正在运行的QingTian Enclave 按以上步骤创建完QingTian Enclave实例后,可以以下命令查询他是否在运行: qt enclave query --enclave-id 0 # qt enclave query --enclave-id 0 [{ "EnclaveID": 0, "ProcessID": 29990, "EnclaveCID": 4, "NumberOfCPUs": 2, "MemoryMiB": 1024, "LaunchMode": "debug" }] 该命令可以用于查询QingTian Enclave相关信息,包括EnclaveID、ProcessID、EnclaveCID、vCPU数量、内存数量以及其运行模式。因为该实例是以debug模式启动的,所以可以用qt enclave console 命令查看QingTian Enclave的只读控制台输出。 hello enclave! hello enclave! hello enclave! hello enclave! 您将观察到终端每隔2秒打印一次hello enclave!。 停止正在运行的QingTian Enclave实例 如果您想停止运行以上的QingTian Enclave实例,可以使用以下命令: # qt enclave stop --enclave-id 0 stop enclave 0 successfully { "EnclaveID": 0 } 父主题: QingTian Enclave管理
  • 登录方式概述 请根据需要选择登录方式,登录云服务器。 表1 Linux云服务器登录方式一览 云服务器操作系统 本地主机操作系统 连接方法 条件 Linux Windows (推荐使用)使用控制台提供的CloudShell登录云服务器。 远程登录Linux弹性云服务器(CloudShell方式)。 云服务器绑定弹性公网IP。 (通过内网登录云服务器时可以不绑定弹性公网IP,例如VPN、云专线等内网网络连通场景。) Windows 使用PuTTY、Xshell等远程登录工具: 密码方式鉴权:SSH密码方式登录(本地使用Windows操作系统)。 密钥方式鉴权:SSH密钥方式登录(本地使用Windows操作系统)。 Linux 使用命令连接: 密码方式鉴权:SSH密码方式登录(本地使用Linux操作系统)。 密钥方式鉴权:SSH密钥方式登录(本地使用Linux操作系统)。 移动设备 使用Termius、JuiceSSH等SSH客户端工具登录云服务器: 远程登录Linux弹性云服务器(通过移动设备)。 下载华为云APP连接云服务器: 远程登录Linux弹性云服务器(通过华为云APP)。 macOS系统 使用系统自带的终端(Terminal): 远程登录Linux弹性云服务器(通过macOS系统主机)。 Windows 使用管理控制台远程登录方式:远程登录Linux弹性云服务器(VNC方式)。 不依赖弹性公网IP。
  • 背景知识 弹性云服务器的密码规则如表2所示。 表2 密码设置规则 参数 规则 密码 密码长度范围为8到26位。 密码至少包含以下4种字符中的3种: 大写字母 小写字母 数字 Windows操作系统云服务器特殊字符:包括“!”、“@”、“$”、“%”、“^”、“-”、“_”、“=”、“+”、“[”、“{”、“(”、“)”、“}”、“]”、“:”、“,”、“.”、“/”、“?”、“~”“#”和“*” Linux操作系统云服务器特殊字符:包括“!”、“@”、“$”、“%”、“^”、“-”、“_”、“=”、“+”、“[”、“{”、“}”、“]”、“:”、“,”、“.”、“/”、“?”、“~”“#”和“*” 密码不能包含用户名或用户名的逆序。 Windows操作系统的云服务器,不能包含用户名中超过两个连续字符的部分。
  • 前提条件 云服务器状态为“运行中”。 请确保安全组已开放登录端口,默认使用22端口,如需使用其他端口可登录云服务器后重新设置。 修改远程登录端口请参考修改远程登录端口。配置安全组规则请参考配置安全组规则。 如果在创建云服务器时未设置密码,请先重置密码后再登录云服务器。 使用CloudShell连接云服务器支持公网连接和私网连接两种方式。当使用CloudShell通过私网远程连接云服务器时,需要具有Security Administrator权限的用户进行服务授权。 若用户有Security Administrator权限,在首次使用时,会弹出如下授权页面,单击“同意授权”即可。 服务授权区域级生效,仅需在每个区域首次使用时执行一次,授权后,用户即可在当前区域使用。 图1 服务授权 若用户无Security Administrator权限,页面将提示“请添加Security Administrator管理员”,可以联系管理员(具有admin权限的用户)为该用户添加Security Administrator权限后重试。 图2 无权限 授权方式为: 创建用户组,并给用户组授权添加Security Administrator权限,详细操作请参考创建用户组并授权。 将用户添加到用户组中,详细操作请参考用户组添加用户。 使用CloudShell通过公网远程连接云服务器时,无需进行服务授权。
  • 设置云服务器获取IPv6地址超时时间 CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考本节操作设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。 CentOS 6.x: 执行以下命令编辑“dhclient.conf”文件。 vi /etc/dhcp/dhclient.conf 按“i”进入编辑模式,在文件中增加timeout属性。 timeout 30; 输入:wq保存后退出。 Debian 7.5: 执行以下命令编辑“networking”文件。 vi /etc/init.d/networking 按“i”进入编辑模式,增加延迟命令timeout,修改点如下图所示。 图34 修改点1 图35 修改点2 Debian 8.2.0/8.8.0 执行以下命令编辑“network-pre.conf”文件。 vi /lib/systemd/system/networking.service.d/network-pre.conf 按“i”进入编辑模式,在文件中增加timeout属性。 [Service] TimeoutStartSec=30 Debian 9.0 执行以下命令编辑“networking.service”文件。 vi /etc/system/system/network-online.target.wants/networking.service 按“i”进入编辑模式,将TimeoutStartSec=5min改为TimeoutStartSec=30。
  • Linux操作系统(手动配置启用IPv6) CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。 执行如下命令,查看当前云服务器是否启用IPv6。 ip addr 如果没有开启IPv6协议栈,则只能看到IPv4地址,如下图所示,请参考2先开启IPv6协议栈。 图20 未开启IPv6协议栈 如果已开启IPv6协议栈,则可以看到LLA地址(fe80开头)。 图21 已开启IPv6协议栈 如果已开启IPv6协议栈并且已获取到IPv6地址,则会看到如下地址: 图22 已开启IPv6协议栈并且已获取到IPv6地址 Linux公共镜像均已开启IPv6协议栈,如图21所示; 开启Linux云服务器IPv6协议栈。 执行如下命令,确认内核是否支持IPv6协议栈。 sysctl -a | grep ipv6 如果有输出信息,表示内核支持IPv6协议栈。 如果没有任何输出,说明内核不支持IPv6协议栈,需要执行2.b加载IPv6模块。 执行以下命令,加载IPv6模块。 modprobe ipv6 修改“/etc/sysctl.conf”配置文件,增加如下配置: net.ipv6.conf.all.disable_ipv6=0 保存配置并退出,然后执行如下命令,加载配置。 sysctl -p 手动配置启用IPv6。操作系统不同,步骤有所差别。 Ubuntu 18.04/20.04操作系统 云服务器配置 动态获取IPv6。 执行以下命令,进入“/etc/netplan/”。 cd /etc/netplan 执行以下命令,查询配置文件名。 ls 图23 查询配置文件名 执行以下命令,编辑“01-network-manager-all.yaml”配置文件。 vi 01-network-manager-all.yaml 在“01-network-manager-all.yaml”下增加如下内容,注意yaml文件格式及缩进: ethernets: eth0: dhcp6: true 图24 修改结果 修改完成后保存退出。 执行以下命令,使更改生效。 sudo netplan apply Ubuntu 22.04操作系统云服务器配置动态获取IPv6。 执行以下命令,进入“/etc/netplan/”。 cd /etc/netplan 执行以下命令,查询配置文件名。 ls 图25 查询配置文件名 执行以下命令,编辑“01-netcfg.yaml”配置文件。 vi 01-netcfg.yaml 在“01-netcfg.yaml”中增加如下内容,注意yaml文件格式及缩进: ethernets: eth0: dhcp6: true 图26 修改结果 修改完成后保存退出。 执行以下命令,使更改生效。 sudo netplan apply 执行以下命令,编辑“/etc/NetworkManager/NetworkManager.conf”文件。 vi /etc/NetworkManager/NetworkManager.conf 在“NetworkManager.conf”中增加如下内容,注意文件格式及缩进: [main] plugins=ifupdown,keyfile dhcp=dhclient [ifupdown] managed=true [device] wifi.scan-rand-mac-address=no 图27 修改结果 执行以下命令,使配置生效。 systemctl restart NetworkManager Debian操作系统云服务器配置动态获取IPv6。 编辑“/etc/network/interfaces”文件,使之包含以下内容: auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp pre-up sleep 3 如果有多个网卡,则在“/etc/network/interfaces”文件中,增加对应网卡的配置,以eth1为例,需要增加: auto eth1 iface eth1 inet dhcp iface eth1 inet6 dhcp pre-up sleep 3 执行如下命令重启网络服务。 service networking restart 如果将网卡进行down/up操作之后无法获取IPv6地址,也可以通过此命令重启网络服务。 执行步骤1检查是否已开启动态IPv6。 CentOS/EulerOS/Fedora操作系统云服务器配置动态获取IPv6。 编辑主网卡配置文件“/etc/sysconfig/network-scripts/ifcfg-eth0”。 补充如下配置项: IPV6INIT=yes DHCPV6C=yes 编辑“/etc/sysconfig/network”,按如下所示添加或修改以下行。 NETWORKING_IPV6=yes CentOS 6系列从网卡需要编辑对应的配置文件,以eth1为例,编辑“/etc/sysconfig/network-scripts/ifcfg-eth1”。 补充如下配置项: IPV6INIT=yes DHCPV6C=yes CentOS 6.3系统中默认ip6tables会过滤dhcpv6-client请求,所以CentOS 6.3除了需要编辑“ifcfg-eth*”文件外,还需要额外添加一条允许dhcpv6-client请求的ip6tables规则。操作如下: 执行以下命令,添加ip6tables规则。 ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT 执行以下命令,保存ip6tables规则。 service ip6tables save 图28 命令示例 (可选配置)CentOS 7/CentOS 8系列需要将扩展网卡的IPv6 LLA地址模式修改为EUI64。 执行如下命令查看网卡信息。 nmcli con 图29 查看网卡信息 将eth1的IPv6 LLA地址模式按以下命令修改为EUI64: nmcli con modify "Wired connection 1" ipv6.addr-gen-mode eui64 CentOS不同系列,网卡信息存在差异,命令中的“Wired connection 1”需要根据实际查询的网卡信息的“NAME”列进行替换。 通过ifconfig命令将eth1进行down/up操作。 ifdown eth1 ifup eth1 重启网络服务。 CentOS 6系列执行以下命令,重启网络服务。 service network restart CentOS 7/EulerOS/Fedora系列执行以下命令,重启网络服务。 systemctl restart NetworkManager 执行步骤1检查是否已开启动态IPv6。 SUSE/openSUSE/CoreOS操作系统云服务器配置动态获取IPv6。 SUSE 11 SP4不支持IPv6自动获取。 SUSE 12 SP1、SUSE 12 SP2无需特殊配置。 openSUSE 13.2、openSUSE 42.2无需特殊配置。 CoreOS 10.10.5无需特殊配置。
  • 检查云服务器网络配置状态 执行以下命令,检查云服务器网络服务状态是否正常。 systemctl status NetworkManager 如果网络服务状态正常,则执行结果中服务处于active (running)状态且是enable的。 图30 网络服务器状态 执行以下命令,检查云服务器网卡获取IP地址的方式。 cat /etc/sysconfig/network-scripts/ifcfg-ethx “ethx”需替换为具体的网卡,例如eth0。 该命令以CentOS 7为例进行介绍。 图31 网卡获取IP地址的方式 如果BOOTPROTO字段的值为dhcp:表示云服务器网卡通过动态DHCP获取IP地址,继续执行3。 如果BOOTPROTO字段的值为static:表示云服务器网卡通过静态配置的方式设置网络,继续执行4。 如果云服务器网卡通过动态DHCP获取IP地址,则需要执行以下命令,确认DHCP相关进程是否正常。 systemctl status NetworkManager 回显中包含相关网卡的dhclient进程则代表正常。 图32 检查DHCP进程 如果云服务器网卡通过静态配置的方式设置网络,则需要执行以下命令,确认IP地址配置是否生效。 ip a 回显中IP配置字段是forever则代表配置已经生效。 图33 检查静态配置
  • 操作场景 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题。如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有两个不同版本的IP地址:IPv4地址和IPv6地址,这两个IP地址都可以进行内网/公网访问。 按照约束与限制中的网络环境要求创建的云服务器,有些不能动态获取到IPv6地址,需要进行相关配置才行。如果云服务器使用的是公共镜像,则支持情况如下: Windows公共镜像默认已开启IPv6动态获取功能,无需配置,文中的Windows 2012操作系统和Windows 2008操作系统部分供您验证、参考。 Linux公共镜像开启动态获取IPv6功能时,需要先判断是否支持IPv6协议栈,再判断是否已开启动态获取IPv6。目前,所有Linux公共镜像均已支持IPv6协议栈。
  • 约束与限制 请确保云服务器所在的子网已开启IPv6功能。 若云服务器所在子网未开启IPv6功能,需参考开启云服务器的IPv6功能进行开启,开启后不允许关闭。 请确保云服务器规格支持IPv6功能。 不同区域、不同可用区支持IPv6双栈的云服务器规格不同。ECS是否支持IPv6双栈,请选择区域、可用区后,以控制台的显示为准,查询方法如下图所示。 图1 查询支持IPv6的ECS规格 当ECS规格列表中包含“IPv6”参数,且取值为“是”时,表示该ECS规格支持IPv6。 规格是否支持IPv6由“可用区”和“规格”两个参数决定。 如果设置“可用区”后,规格列表中不显示“IPv6”参数或参数值为“否”,表示当前规格不支持IPv6。 请确保创建云服务器时已选择“自动分配IPv6地址”。 图2 选择“自动分配IPv6地址” 云服务器启动之后动态插拔的网卡不支持IPv6地址动态获取功能。 仅弹性云服务器支持IPv6双栈,裸金属服务器不支持。 同一个网卡上,只能绑定一个IPv6地址。 云服务器网络配置需处于正常状态。 检查网络配置是否正常的方法,请参见检查云服务器网络配置状态。 如果网络配置不正常,请提交工单获取技术支持。
  • 操作导航 Windows系统:本文以Windows 2012版本、Windows 2008版本为例,介绍Windows操作系统启用IPv6的方法,如表1所示。 Linux系统:本文提供了自动配置、手动配置两种方式启用IPv6,推荐您使用自动配置方法,如表1所示。 对于CentOS 6.x和Debian操作系统,云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,此时您可以参考设置云服务器获取IPv6地址超时时间操作。 表1 不同操作系统启用IPv6操作指导 操作系统 方式 操作指导 Windows 2012 自动配置启用IPv6 Windows 2012操作系统 Windows 2008 自动配置启用IPv6 Windows 2008操作系统 Linux 自动配置启用IPv6(推荐) Linux操作系统(自动配置启用IPv6) Linux 手动配置启用IPv6 Linux操作系统(手动配置启用IPv6)
  • Linux操作系统(自动配置启用IPv6) ipv6-setup-xxx工具能为开启IPv6协议栈的Linux操作系统自动配置动态获取IPv6地址。其中,xxx表示工具系列:rhel或debian。 您也可以参考Linux操作系统(手动配置启用IPv6)手动配置启用IPv6。 ipv6-setup-xxx工具运行时会自动重启网络服务,导致网络短暂不可用。 CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。
  • 后续处理 如果切换操作系统前后都是Linux系统,且数据盘设置了开机自动挂载分区。切换操作系统后,数据盘分区挂载信息会丢失,请更新/etc/fstab配置。 在/etc/fstab写入切换后的分区信息。 建议您先备份/etc/fstab文件。 详细操作请参考初始化Linux数据盘(fdisk),设置开机自动挂载磁盘分区。 挂载分区。挂载分区后即可开始使用数据盘。 mount 磁盘分区 挂载目录 执行以下命令,查看挂载结果。 df -TH 如果操作系统切换失败,云服务平台支持重试功能,用户可重新执行3-8,切换弹性云服务器的操作系统。 重试后,如果仍未成功,可直接联系客服,客服会在后台进行人工恢复。
  • 操作场景 切换操作系统是为您的弹性云服务器重新切换一个系统盘。切换完成后弹性云服务器的系统盘ID会发生改变,并删除原有系统盘。 如果弹性云服务器当前使用的操作系统不能满足业务需求(如软件要求的操作系统版本较高),您可以选择切换弹性云服务器的操作系统。 云服务平台支持不同镜像类型(包括公共镜像、私有镜像、共享镜像以及市场镜像)与不同操作系统之间的互相切换。您可以将现有的操作系统切换为不同镜像类型的操作系统。