ssh免密登陆(简单快捷)
介绍免密登陆配合下边这张图可以了解下过程:
假设现在A要通过免密登陆B
在A上的操作:
1.终端输入ssh-keygen (后边可以指定加密算法:-t 算法,如果不指定就是默认的rsa)
原理:
首先通过ssh-keygen命令生成密钥对(即公玥和私钥)
生成后密钥对会自动保存到/root/.ssh目录下,此目录下有两个文件即:
id_rsa(私钥),id_rsa.pub(公钥)
2.终端输入ssh-copy-id 要连接的ip地址(如果本地/etc/hosts配置文件中有该地址的别名也可以用别名),然后输入连接ip密码,登陆成功
原理:
这一步的主要作用是将公钥发送到B上(第一次对要连接的ip使用需要输入要连接的ip的用户的密码),
然后B将公钥保存到/root/.ssh文件夹中的authorized_keys文件中(这个文件也会保存其它主机的公钥),
然后B用公钥对一个随机字符串加密返回给A,A再用自己的私钥解密,把解出来的明文发给B,B验证,如果正确,就会连接成功
总结(也就是说命令只需要在A主机上写就行了,如果是第一次要知道B端的用户密码):
A:
终端输入ssh-keygen
然后输入ssh-copy-id 连接ip,之后会要求属连接ip上的用户的密码,输入之后成功连接,以后再连接该ip,只需要ssh ip地址 就能直接免密登陆
如果还要连接其它ip,如果已经生成密钥对,不需要再输入ssh-keygen生成密钥对,(如果重新生成,则以前的连接ip就会连接不上)