纵有疾风起
人生不言弃

SSH协议及免密码登录

一、简述
SSH是一种网络协议,用于计算机之间的加密登录。
如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

二、公钥加密
(1)远程主机收到用户的登录请求,把自己的公钥发给用户。
(2)用户使用这个公钥,将登录密码加密后,发送回来。
(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

命令:ssh localhost
SSH协议及免密码登录插图

三、配置SSH免密码登录
使用密码登录,每次都必须输入密码,非常麻烦。SSH还提供了公钥登录.可以省去输入密码的步骤。

所谓“公钥登录”.就是用户将自己的公钥储存在远程主机上,登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell”,不再要求密码。

生成公钥/私钥对:ssh-keygen -t rsa
在$HOME/.ssh/目录下,会新生成两个文件.id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。

拷贝公钥至authorized_keys文件
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

SSH协议及免密码登录插图1

四、具体操作
1、生成公钥/私钥对
[root@hadoop1 ~]# ssh-keygen -t rsa

Your identification has been saved in /root/.ssh/id_rsa.(私钥)
Your public key has been saved in /root/.ssh/id_rsa.pub.(公钥)

[root@hadoop1 ~]# cd /root/.ssh/

2、拷贝公钥到远程主机
方式一
[root@hadoop1 .ssh]# ssh-copy-id root@localhost

root@localhost's password:
Now try logging into the machine, with "ssh 'root@localhost'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

登录
[root@hadoop1 .ssh]# ssh localhost

[root@hadoop1 .ssh]# more known_hosts

hadoop1,172.18.50.101 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvNMOuKOM2lv58oGLFne5dWiXmUM0c3Rn
CfLLgTVhqMxz0oqxpnCD2F9g71kEQ37KM/kCBoDCDhUAS2Y+6Sif01Pcmy7XxXH0tRf/+QZeNzxlrU8VJZC655eNsN
1o0jfy9hegJzF8DeK3/6NcjmLrT3TNcPYaMB0GWZAPKIsZh7tpfcYpVK8E6tuFDPfc+8aVrr5rtQOQbEv9XC9eHm/W
GQKucG2C7m8Qv7VB6fHyMVPJnrZPlzdtLzM/jUUpBnja27C9vZkFk4kDdBK9suOe04IY+5CIjFta4qhMcJHoHDwuZb
GIwFgjo+FUERqbuvu9jkUsVp3NN2zzMQBFtq1FLw==

方式二
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

登录
ssh localhost

原文链接:https://blog.csdn.net/scgaliguodong123_/article/details/45331771

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

未经允许不得转载:起风网 » SSH协议及免密码登录
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录