也来说说ssh免密码登录Linux
ssh免密码登录Linux是一个老话题了,但同时也是很多新手疑惑的地方。之所以在这里再提起,主要是想说一些更细致的地方。想当初,我刚搞这个东西的时候也是费了不少时间呢。
在哪里生成密钥
到底生成密钥文件是应该本地电脑呢,还是远程的服务器?相信有人这样就纠结过。其实,那不过是个障眼法,生成密钥文件却不一定需要在远程服务器上面,本地也是可以的。最主要的是要看到实质:公钥一定要放到服务器上面,而私钥一定要放到客户端上。而私钥更是要紧,所以一定要保护好!要紧的是,有些支持密钥登录的客户端支持的格式不一样,需要转换!
.ssh目录以及密钥文件权限
搞密钥登录,最好将.ssh文件设置成700权限,而authorized_keys一定要设置成600权限的。除了基于最基本的安全去考量,有些程序或者是系统组件会要求用户严格.ssh目录以及密钥文件权限。而私钥文件id_rsa不建议保留在远程服务器。也就是说,如果你的密钥是远程服务器生成的,那么请务必保证私钥文件下载到本地后,删除掉远程服务器的私钥!私钥相当于钥匙,要紧要紧!
多个客户端密钥登录
这个倒也不难,一种办法是客户端用一样的私钥就好。就像钥匙,多复制几把就好!第二是,将不同客户端的不同密钥文件对里面的公钥里面的内容都追加到要登录的帐号对应下面的.ssh文件夹里面的authorized_keys文件里面。每个公钥就像每一扇门上面的一把锁,开了任意一把,那对应的门就开了,就可以进去了!
小结
网络的发达注定了服务器更多地暴露在公共网络环境。所以,能多安全就要多安全!开启密钥文件登录后,建议关闭密码验证!假如真的必须用密码登录,那最好《启用Google Authenticator两步验证登录Linux SSH》。修改了SSH的端口,安装上denyhosts等类似软件!