1、客户端生成公私钥
linux和win客户端,生成公钥和私钥的方式有一点点差异,后续流程一样的。
1.1 linux客户端
在终端输入ssh-keygen,连续回车,在用户目录下会生成.ssh文件夹,其里面有生成好的公钥和私钥。(root账号路径在/root/.ssh/,一般用户在/home/用户名/.ssh/)
1.2 win客户端
Windows 打开 cmd,输入:ssh-keygen.exe,连续回车,在用户目录下会生成.ssh文件夹。

2、上传公钥到服务器
将客户端的公钥id_rsd.pub内容拷贝到服务端.ssh/authorized_keys文件中(如果服务端没有该文件则可以新建)
可以手动拷贝,也可通过下面命令拷贝。
注:如果使用root账号登陆服务端,需把公钥内容拷贝或追加到/root/.ssh/authorized_keys文件,如果普通用户,则拷贝或追加至/home/用户名/.ssh/authorized_keys
# root账户登陆服务端
scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys
# 普通账户登陆服务端
scp -p ~/.ssh/id_rsa.pub hiera@<remote_ip>:/home/hiera/.ssh/authorized_keys
3、测试免密登录
ssh root@192.168.110.166
ssh 用户名@<remote_ip>
4、扩展应用
4.1 场景:加入有10台机器,如何配置两两机器间免密登录?
方法一: 每台机器分别生成公钥和私钥,并下发到其他机器。(麻烦)
方法二: 一台生成公钥和私钥,把私钥和authorized_keys分别拷贝到每台机器。这样所以的机器都同时拥有一把锁和一把钥匙,相互之间皆可免密登录。

2895

被折叠的 条评论
为什么被折叠?



