SSH免密登录整理


SSH免密登录的步骤:

准备工作:

准备2台机器,

192.168.78.131充当PC端,

充当Server端。

首先询问是否记住陌生的IP。

然后他会问【要登录端】的密码。

此时问的是yinlei这个用户的密码而不是root的密码.【ssh不指定用户名的情况下会以当前linux登录的用户作为登录别的机器的用户名】

原因是当前机器的用户是yinlei,所以会问我yinlei的密码。

切换另一个用户:

su  用户名

增加一个用户:

adduser 用户名

 

 

1.生成公私钥:

 

key存储的位置是当前用户的.ssh下的id_rsa文件(rsa是加密方式)

  • id_rsa是私钥文件
  • id_rsa.pub是公钥文件
  • known_hosts是已知的配置过的都会记录在这里。

2.将生成的公钥上传到我们需要登录的server的

用户/.ssh/authorized-keys

查看一下公钥:

将内容复制,

然后到需要登录的机器上

没有.ssh目录就mkdir .ssh进行创建

然后将上面复制的内容写入到authorized_keys中:

 

 

再查看一下该文件,第一次配置是只有1行,这里我有2行是因为以前配置过。 

3.ssh登录(此时不需要输入密码)

在192.168.78.131PC端进行登录:

这里出现了权限否决[需要允许root远程登录]:先进入被链接主机,然后:

出现问题的原因:服务端SSH 服务配置了禁止root用户登录策略。

取消掉注释:

但是这里尝试了几次,发现在PC端非root身份登录还是会报上述错误,

此问题遗留求各位大神解答。

而这里我还是选择使用了root身份:

这里需要注意的是要登录的远程端(我这里是阿里云)的ssh是默认不允许非root连接,所以在PC端可以换成root身份再ssh就不会出现上面的错误。

下次ssh就可以不用输入密码了。

ssh还可以指定用户名登录:,比如以root身份进行登录

生成的id_rsa私钥会在这次ssh请求的时候被携带传到要登录的端。如果该私钥文件不在默认位置下,可以指定自定义该私钥的位置,通过 -i 指定其他路径。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章