为了加强位于公有网络中的云服务器的安全性, 云服务器之前放置了一个防火墙(Default Security Group)。初始状态下,每个防火墙都不包含任何规则,即,全部端口都是封闭的, 您需要建立规则以打开相应的端口。
注解:如果您的云服务器使用的是默认防火墙,那么 ping 和 ssh 的端口都是默认打开的,您无需再进行操作。
例如您需要访问云服务器的22号端口,需要手动为云服务器的防火墙添加一条 接受 tcp 22 端口 的下行规则,然后再点击“更新规则”使其应用到云服务器。
同理,如果您想开启 ping 功能, 需要在防火墙里头添加 接受 ICMP echo request 的下行规则。
当云服务器关机后,只收取系统盘的费用,按照系统盘的占用空间 (Windows 50G, Linux 20G) 收费,收费标准同硬盘,CPU / 内存则不再收费。
除此以外,再说明下云计算其他资源的收费规则:
- 公网 IP 是从申请后就开始收费,不论是否处于使用状态。因为这个 IP 一旦被申请,别人就不能再占用。
- 硬盘、自有镜像都是从新建时起开始收费,直到删除。
- 负载均衡器只在“启动”后收费,关闭后便停止计费。
- 防火墙、密钥都是免费的。
云计算提供了两种网络,一种公有网络,您的云服务器的所有网络配置与管理都交给云计算系统完成, 另一种是SDN网络,需要您手动配置网络,您必须自己关心云服务器的网络配置与管理,比如 IP 地址、路由等。
对于如何为处于SDN网络的云服务器手动配置静态 IP 地址,请参考以下两条问答。
请注意,只有当云服务器位于SDN网络之中时,您才需要自行配置 IP 地址。
云计算官方提供的 Linux 镜像使用 NetworkManager 来自动化云服务器的网络配置, 其默认配置是通过 DHCP 方式来获取 IP 地址。以下步骤描述了如何配置静态地址:
第一步,用指令 ip link 或者 ifconfig -a 找到网卡在云服务器中的设备名, 通常名为 eth0、eth1 等,以下以 eth0 名字为例。
第二步,配置网卡
RHEL/CentOS/Fedora
# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticONBOOT=yesTYPE=EthernetNM_CONTROLLED=noIPADDR=192.168.100.11NETMASK=255.255.255.0NETWORK=192.168.100.0BROADCAST=192.168.100.255
对于 CentoOS 系统,手动配置网卡可能会和 NetworkManager 的管理有冲突,所以我们建议在手动配置网卡前先将 NetworkManager 禁用,禁用方法为:
# service NetworkManager stop# chkconfig NetworkManager off
Debian/Ubuntu
# vi /etc/network/interfacesauto eth0iface eth0 inet staticaddress 192.168.100.11netmask 255.255.255.0network 192.168.100.0broadcast 192.168.100.255
第三步,重启 NetworkManager 使之生效
如果之前已经将 NetworkManager 禁用,那么请忽略此步操作。
RHEL/CentOS
# service NetworkManager restart
Fedora
# systemctl restart NetworkManager
Debian
# service network-manager restart
Ubuntu
# restart network-manager
为了安全方面的考量,云计算官方提供的 Linux 镜像都禁用了 SSH 密码登陆。 当然,您完全可以自行启用密码登陆,但请一定记得修改操作系统用户密码为复杂字串,否则极不安全。
以下步骤启用 SSH 密码登陆
# vi /etc/ssh/sshd_configPasswordAuthentication yes
重启 ssh daemon 使之生效
RHEL/CentOS
# service sshd restart
Fedora
# systemctl restart sshd
Debian/Ubuntu
# service ssh restart
警告 强烈建议不要使用密码方式 SSH 登陆!
您需要在控制台的“SSH 密钥”里面新建一个 SSH 密钥, 然后加载到您的云服务器上并下载私钥文件(例如 kp-1234abcd )。
以下步骤启用 SSH 密码登陆
注解: 在进行 SSH 连接之前,请确保在云服务器对应的防火墙下行规则中打开 TCP 22 号端口的访问。
Linux下,使用下面的命令登陆
# chmod 600 /path/to/kp-1234abcd# ssh -i /path/to/kp-1234abcd root@ip_address
Windows 下用 putty
很多 Windows 桌面用户都会使用著名的 PuTTY 作为 SSH 客户端来登陆远程的 Linux 云服务器,但是 PuTTY 不支持 OpenSSH 的密钥格式,而是使用它自己的密钥格式。因此,PuTTY 提供了一个名为puttygen的密钥格式转换工具。
- 首先下载putty和puttygen:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html- 转换密钥格式
启动 puttygen,点击 Conversions –> Import key,选中您在云计算中新建并下载的 SSH 密钥,文件名形如kp-1234abcd。然后点击 Save private key,您将得到 PuTTY 格式的私钥,如kp-1234abcd.ppk- 配置登录
打开putty。
点击putty左边导航的connection->data, auto-login username 处填入登录名:root
点击putty左边导航的connection->ssh->auth, 最下面有private key file for authantication字样,点击旁边的browse,选择之前生成的kp-1234abcd.ppk文件,确定。
点击putty左边导航的session,host name中填写云服务器的公网IP,例如1.2.3.4。
最后点击下面的open进行连接即可。
如果想下次登录方便,可以点击putty左边导航的session,在save sessions中填入名称并保存,将当前配置保存下来。
Windows 下使用 SecureCRT
注解: 推荐使用SecureCRT 6.5 及以上版本,低版本会出现私钥无法导入的情况
- 在云计算控制台新建 SSH 密钥,将这个密钥加载到云服务器上并下载私钥文件,例如kp-12345678;
- 在 SecureCRT 上新建一个新连接,protocol 是 SSH2,hostname 是公网 IP 地址,username 为 root;
- 右键选中这个 session,选择 Properties,在 Connection –> SSH2 的 Authentication 面板里面,选中 PublicKey,点击右边的上箭头,将这个选项排到第一位;
- 继续选中 PublicKey,点击右边的 Properties,选择 Use session public key setting,在下面的 Use identity or certificate file,导入下载的私钥文件kp-12345678;
- 连接即可。
较低版本的 SecureCRT 可能会遇到无法导入私钥的问题,因为低版本的 SecureCRT 会严格要求私钥需要和公钥共同存在,这种情况下,操作步骤如下:
- 在云计算控制台新建 SSH 密钥,将这个密钥加载到云服务器上并下载私钥文件,例如放置于 /path/to/kp-1234abcd ;
- 在路径 /path/to/ 下新建新文件kp-1234abcd.pub;
- 在 SSH 密钥 kp-1234abcd 的详情页中找到公钥的字符串,并拷贝下来放入kp-1234abcd.pub文件中,并且在公钥内容前面加上加密方式,最终文件内容为:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC90PM9PT........;
- 在 SecureCRT 上新建一个新连接,protocol 是 SSH2,hostname 是公网 IP 地址,username 为 root;
- 右键选中这个 session,选择 Properties,在 Connection –> SSH2 的 Authentication 面板里面,选中 PublicKey,点击右边的上箭头,将这个选项排到第一位;
- 继续选中 PublicKey,点击右边的 Properties,选择 Use session public key setting,在下面的 Use identity or certificate file,导入下载的私钥文件kp-12345678;
- 连接即可。
ssh的默认配置为了安全考虑,当发现客户端一段时间内没有输入,就会断开这个 session, 这给使用者带来些许不便。解决这个问题有两种办法:
1.修改 ssh server 端配置,添加
# vi /etc/ssh/sshd_configClientAliveInterval 60ClientAliveCountMax 3
修改后记得重启 ssh server
2.修改 ssh client 端配置,添加
# vi /etc/ssh/ssh_configServerAliveInterval 60ServerAliveCountMax 3
首先, 在 Windows 云服务器里打开RDP服务:
然后您需要手动为云服务器的防火墙添加一条 接受 tcp 3389 端口 的下行规则, 点击 更新规则 使其应用到云服务器。
如果希望在 windows 本地电脑与远程服务器之间复制粘贴,您需要确认如下设置:
警告 windows smb (Server Message Block) 很容易感染病毒和被黑客袭击,请谨慎使用。 推荐使用 FTP 方式传文件,如果一定要用共享,建议复制完文件就关闭共享。
修改注册表:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters
Dword: AutoShareServer 1
HKEY_LOCAL_MACHINESystemControlsetServicesNetBTParameters
Dword: SMBDeviceEnabled 1
如果是 window 2008,还需要:
- 打开 控制面板 –> 网络和Internet –> 网络和共享中心
- 点击左侧的 更改适配器设置 ,右键点击 网卡 ,并选择 属性
- 在弹出的对话框中勾中 Microsoft网络的文件和打印机共享 并确定
- 回到 控制面板 –> 网络和Internet –> 网络和共享中心
- 点击左侧的 更改高级共享设置 ,确保 公用(当前配置文件) 项下的各个与共享相关的选项都启用了,并确定
最后重启您的 windows 即可。
首先新建一个 Linux 云服务器(以 Ubuntu 为例),并在云计算防火墙中打开 tcp 21 下行,并“更新规则”。下面简单介绍下安装 vsftpd 和 proftpd 的注意事项:
apt-get install vsftpd
修改配置文件 /etc/vsftpd.conf 后,重启生效
service vsftpd restart
如果您的 ftp client 位于 NAT 之后,ftp server 必须启用 passive mode ,编辑 /etc/vsftpd.conf
pasv_enable=Yes pasv_max_port=21000pasv_min_port=20000pasv_address=your.ftp.server.public.ip
安全起见,vsftpd 默认配置是不允许 root 登陆的。如果确实需要,可以在 /etc/vsftpd/user_list 文件中把 root 那一行删除或者注释掉, 同样把 /etc/vsftpd/ftpusers 文件中的 root 也注释掉。然后重启 vsftpd 就可以了。
apt-get install proftpd
修改配置文件 /etc/proftpd/proftpd.conf 后,重启生效
service proftpd restart
如果您的 ftp client 位于 NAT 之后,proftpd server 必须启用 passive mode , 在 /etc/proftpd/proftpd.conf 中打开 PassivePorts 和MasqueradeAddress :
PassivePorts 20000 21000MasqueradeAddress ftp.server.public.ip
注解 被动模式的端口范围可以任意指定,不过请记得打开云计算防火墙中对应的端口范围,还有修改配置文件后记得重启 FTP 服务使之生效。
对于某些收费资源,例如主机、硬盘和镜像,被删除后可以在2个小时之内恢复。 对于其他收费资源,例如公网IP,销毁后不可以被恢复。
不收费的资源,一旦删除,都不可以被恢复。