景文互联的云服务器产品中Linux 系统模板默认使用密码登录SSH,如果你管理一台Linux服务器,那么你就会知道每次SSH登录时或者使用scp复制文件时都要输入密码是一个多么繁琐的过程.这篇教程介绍使用SSH Key来实现SSH无密码登录,而且使用scp复制文件时也不需要再输入密码,除了方便SSH登录,scp复制文件外,SSH无密码登录也为Linux服务器增加了又一道安全防线。

1.使用noVNC或Xshell登录Linux服务器,使用下面的ssh-keygen来生成RSA密钥和公钥.-t表示type,就是说要生成RSA加密的钥匙。

ssh-keygen -t rsa

注意:RSA也是默认的加密类型.所以你也可以只输入ssh-keygen.默认的RSA长度是2048位.如果你非常注重安全,那么可以指定4096位的长度。

ssh-keygen -b 4096 -t rsa

2.生成SSH Key的过程中会要求你指定一个文件来保存密钥,按Enter键使用默认的文件就行了,然后需要输入一个密码来加密你的SSH Key.密码至少要20位长度,当然您也可以不设置密码,这样更为方便,但是安全方面略逊一筹。

SSH私钥文件位置:/root/.ssh/id_rsa
SSH公钥文件位置:/root/.ssh/id_rsa.pub

20171206165615.png

3.将 id_rsa.pub 改名为authorized_keys,作为客户端连接服务器的公钥验证

mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

3.最后将id_rsa私钥下载到自己的电脑上,您可以使用支持sftp协议的软件(WinSCP或xftp),登录服务器,进入.ssh目录下载此文件。

4.如果您在Windows平台使用xshell进行本教程操作,建议使用lrzsz方式直接下载文件到本地

yum install lrzsz -y && sz /root/.ssh/id_rsa

5.现在您就可以使用SSH Key免密码登录SSH了,打开xshell,添加SSH 登录信息,输入服务器IP
20171206172503.png

6.点击左侧的“用户身份验证”选项:
20171206172602.png

7.在弹出窗口中选择导入,进行私钥导入
20171206172619.png

8.选择刚才从服务器中下载的SSH私钥文件,确定导入
20171206172143.png

9.导入后,选中私钥文件,确认保存,即可使用SSH Key 进行免密码登录了。
20171206172638.png