图A
该工具可以对所有密码和私人密钥进行管理。
一旦密钥得以创建,就可以通过右键单击打开,进行安全外壳协议密钥的设置。在新窗口中,使用者可以键入计算机的名称(远程系统)和登录名。请注意:这么做之前,务必确保在远程计算机上已经存在登录名。
如果使用者采用的是Windows来登录ssh功能服务器的话,可以选择使用密钥对生成工具PuTTYgen。下载并启动PuTTYgen,点击生成按键,将鼠标移动到其它位置(在创建阶段),保存公共密钥,并将其复制到ssh服务器上。
请注意:为了以防万一,大家应该选择始终对密钥进行强制密码保护。因为,如果在设置的时间选择容许密钥认证模式的话,可能会发现一些用户选择创建无密码密钥(基于易用性的考虑)。这种做法属于不安全的。
阻止对根的访问
对于所有系统来说,容许基于安全外壳协议的访问属于关键之一。打开文件/etc/ssh/sshd_config,查找这一行:
PermitRootLogin
确保上面的行设置为否定。正确的行应该是:
PermitRootLogin no
一旦对文件的更改和保存操作完成,就可以输入命令:
sudo /etc/init.d/ssh restart
现在,如果出现尝试利用ssh作为根用户登录到服务器上情况的话,访问就会被直接拒绝。
调整端口号
我相信将安全模糊化并不能带来真正的安全。但是针对安全外壳协议的情况,设置越多安全性就越高。因此,我非常支持将安全外壳协议的默认22号端口调整为非标准端口。为了做到这一点,需要打开/ etc/ssh/sshd_config文件,并查找此行(靠近顶部):
Port 22
将端口号调整为没有使用的其它非标准端口。需要注意的是,所有连接到该系统上的用户都应该了解到端口号方面的调整。在进行了调整之后,也需要重新启动ssh服务。
利用命令行连接非标准端口时间,需要使用这样的命令:
ssh -p 端口_数字 -v -l 用户名 网络地址
在这里端口_数字就是非标准端口,用户名就是连接时使用的用户名,网络地址就是远程系统的地址。
最后的思考
总体而言,对于远程系统来说,安全外壳协议是一种相当安全的连接方式。但是,只要在默认的基础上进行小小的调整,就可以达到非常安全的状态......花费少量时间就可以换来安全方面的极大提高。作为一条标准的重要经验,使用者应该牢记,在任何情况下,都应该禁止根登录......所有超过这一限度的行为都是众所周知的糖衣炮弹。
……