SSH远程免密登录的两种方式
一、准备工作首先准备2台主机我这主机IP分别为192.168.150.175、192.168.150.148这里使用175也就是下本中本机登录148下文中的目标服务器二、ssh免密登录方式一1. 生成本机公钥、私钥ssh-keygen执行该命令然后对于弹出提示直接三次回车即可。第一次回车是确认公钥和私钥的存放文件路径第二次回车是默认使用私钥时的密码为空所以直接回车你也可以输入你自己的密码我们是为了免密登录所以一般就是直接回车不输入任何密码第三次回车是对私钥密码为空的确认这个命令本质上就是生成公钥和私钥的。我们也无需为他们制定特殊的存放位置回车就是都用默认的即可。通过下面的图可以看出公钥在/root/.ssh/id_rsa.pub私钥在/root/.ssh/id_rsa2.拷贝公钥到目标服务器// 这个命令实际上将本机生成的公钥复制到目标主机上 ssh-copy-id -i /root/.ssh/id_rsa.pub root192.168.150.148使用这个命令可以把本机的公钥copy到192.168.150.148上命令有点类 似scp所以这里也是需要输入密码的3.测试ssh免密登录ssh 192.168.150.148我们可以看到无需输入密码直接ssh就成功了三、ssh免密登录方式二认真看过第二种方式就会知道第二种方式必须要知道服务器的密码而且还是root密码这个在工作中可能有点难度所以我们真正使用这个方式比较靠谱吧1.生成本机的公钥私钥这个与方式一里面的的第一步没有任何区别执行下面的命令三次回车即可ssh-keygen2.打开本地公钥文件复制 公钥信息vim /root/.ssh/id_rsa.pub # 复制公钥信息下面是笔者的公钥信息 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtehroANIusfqfD7iCklRKsRnLB8PmlF8C76NWZqYWx017LrwGUogDquMpgfUt4JNMAPaOMvAzs6M97yiHpsn/SFWRDDsqdJ72z0K1wtnU6L3gjZ6yzy/of4f7C34CA2wehjMCEQ4PUgic2YCU1sxY0I/lEUA7cdEib5Mw/aoNJKBcVg/iwJh26YVB4V3pUh77FK/xL9MqB6ZIaTqrzHk5mTpRiQQKlwm6CD4XtKXXzn5PPiPsGYpGQyat8wWVeGvqssvKK6vYzEILW6umeRekGLKZLG/jwBkf7RZMjwhs55CMSGM/VK1FveGh5k2mz3zEOo39w03RjzFWIhqb rootbogon3.将公钥存放到目标服务器的这个文件里/root/.ssh/authorized_keys什么没有这个文件那就在本地执行下下面这个命令ssh localhost这样本地就会产生这个文件了然后我们将2里面拿到的公钥存放进来即可注意若是该文件不为空就换行新增本次的公钥就行不要去覆盖别的公钥不然会造成其他服务器登录这台服务器时免密失败4.测试免密登录ssh 192.168.150.148四、总结其实两种方式本质上没有区别都是将公钥放到目标服务器上即可一种是在本机上采用scp的方式复制到目标主机的 ~/.ssh/authorized_keys文件中一种是直接登录目标服务器直接找到文件粘贴进去。两种方法本质上一样。