Linux远程SSH使用密钥登录禁用密码远程管理xshell管理

一、在服务端生成密钥

1. 输入ssh-keygen

2. 会提示key要保存的位置,直接回车默认即可

Enter file in which to save the key (/root/.ssh/id_rsa):

3. 输入生成key的密码,这个一定要保存好。需要输入两次。

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

4. 如(图一) 出现RSA 2048的图案即生成成功。

5. 将生成的 id_ras 下载到你自己电脑上。 sz id_rsa

6. 修改sshd的配置文件 /etc/ssh/sshd_config :

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

找到以上三项,把前面的注释去掉。

7. 在.ssh目录下执行 cat id_rsa.pub >> authorized_keys 将公钥写到指定的文件里面

8. ssh 禁用密码登录 修改 /etc/ssh/sshd_config

PasswordAuthentication yes

改为:

PasswordAuthentication no

9 重启 ssh服务

注意:未确认是否连接成功的时候不要退出原来的远程管理。否则出错了你就连不上去了。

二、使用Xshell 7连接

1. 新建一个会话,然后右键选择属性

2.  点击Public Key右边的设置:

3. 点击浏览,导入从服务器上下载的 id_rsa

 

4. 输入第二步提示处的密码,该密码是你在服务器上生成密钥时输入的密码。

5. 点击确定就可以登录成功了。

我遇到的问题:

e1. 如果一直提示让你输入密码有可能是你没有在服务端执行第7步。

e2. 如果你没有使用密钥登录成功,不要退出你原来的远程连接。否则你只能去机房登录修改配置。

如果你是centos 7.x有可能在sshd_config里没有 RSAAuthentication yes,使用后两项也可以

 


版权声明:本文为hotlinhao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。