目标:
192.168.233.31 ton-pc-003
192.168.233.32 ton-pc-004
在ton-pc-004(以下简称004)免密登录ton-pc-003(以下简称003)
具体流程和说明:
1、在004(客户机)中生成秘钥对
ssh-keygen -t rsa
这里简单示例,所有选项都用默认,直接回车,可以在~/.ssh目录下得到两个文件:
id_rsa:私钥文件
id_rsa.pub:公钥文件
2、将步骤一的公钥复制到003(目标机)
在004中执行以下命令:
ssh-copy-id login_user@192.168.233.32
login_user是你需要使用来登录003的用户,可以事先配置好该用户和对应的权限、登录根目录等。此命令期间需要输入登录用户的密码。
命令执行成功后,可以在003机器上的login_user的home目录下看到多出了一个.ssh目录,里面包含有一个authorized_keys文件
文件里的内容就包含了步骤一生成的公钥内容,也就是003中保存了004的密钥对中的公钥。
3、004使用ssh命令登录003
ssh login_user@192.168.233.32
这一步004想003发起一个ssh登录的请求,里面包含了004的机器信息,003可以根据这些信息找到004对应的公钥。
4、003收到请求后会根据带过来的004机器信息去authorized_keys中查找相应的公钥
> 如果没有找到,则向004返回需要输入密码,
> 如果找到了,则003会先自己随机生成一个随机字符串,自己保持一份,然后使用找到的公钥对随机字符串加密,再将加密后的随机字符串发个004。