安全的管理你的远程Ubuntu服务器
要安全的管理你的远程Ubuntu服务器,你需要安装SSH服务器. SSH为你提供一个加密通道来登录到远程服务器并运行命令. 另外,SSH还提供了一些高级功能来简化你的远程管理工作.
在Ubuntu中安装SSH服务器
sudo apt-get install openssh-server
该软件包负责生成初始的RSA和DSA keys, 并提供一个默认的SSH配置.
连接服务器
在另一台机器上使用下面的命令来连接服务器:
ssh serveripaddress
例如:
ssh 195.14.2.1 (ypxing注: 假设主机195.14.2.1上安装了SSH服务器)
配置SSH
/etc/ssh/sshd_config是主要的配置文件. 默认配置允许远程root用户登录和X11 forwarding, 这队安全性没有好处.所以我们要关掉这两个选项.
禁止远程root用户登录
在文件/etc/ssh/sshd_config中搜索下面这行:
PermitRootLogin yes
把它改成:
PermitRootLogin no
禁止X11 forwarding
在文件/etc/ssh/sshd_config中搜索下面这行:
X11Forwarding yes
把它改成:
X11Forwarding no
用下面的命令来重启SSH服务器:
sudo /etc/init.d/ssh restart
X11 Forwarding
如果你想使用X11 Forwarding选项来利用Xterm连接你的远程机器的桌面 (ypxing注: 上面的X11 Forwarding选项需要打开),你需要使用下面的命令:
ssh -X serverIpAddress
利用SCP来安全的拷贝文件
另外一个常用的需求是在你管理的服务器之间拷贝文件.尽管你可以在所有的服务器上都安装一个FTP服务器,但这并不是一个理想的安全的解决方案.利用scp命令, SSH拥有拷贝文件的. 利用你已经建立的(SSH的)基于key的安全认证机制, 你可以在一个安全的通道上拷贝文件.
使用下面的命令来将一个本地文件拷贝到远程主机:
scp /path/to/file user@remotehost:/path/to/destination
使用下面的命令来将一个远程主机文件拷贝到本地:
scp user@remotehost:/path/to/file /path/to/destination
利用-r选项,来将一个本地目录拷贝到远程主机:
scp -r /path/to/directory/ user@remotehost:/path/to/destination/
如果你要传输日志文件或其他有较大压缩比的文件, -C参数会很有帮助. 这会打开压缩选项,虽然在拷贝的时候会使用更多的CPU,但是它会在传输的时候增加传输速度.
利用-l选项来限制可以使用的带宽. 把你希望的带宽放在-l后面, 它以K/s为单位. 例如,以256 Kbps的带宽来传输文件使用下面的命令:
scp -l 256 /path/to/file user@remotehost:/path/to/destination