一、简述
SSH是一种网络协议,用于计算机之间的加密登录。
如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
二、公钥加密
(1)远程主机收到用户的登录请求,把自己的公钥发给用户。
(2)用户使用这个公钥,将登录密码加密后,发送回来。
(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
命令:ssh localhost
三、配置SSH免密码登录
使用密码登录,每次都必须输入密码,非常麻烦。SSH还提供了公钥登录.可以省去输入密码的步骤。
所谓“公钥登录”.就是用户将自己的公钥储存在远程主机上,登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell”,不再要求密码。
生成公钥/私钥对:ssh-keygen -t rsa
在$HOME/.ssh/目录下,会新生成两个文件.id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。
拷贝公钥至authorized_keys文件 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
四、具体操作
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
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
还没有人抢沙发呢~