目录
3、将认证文件远程拷贝到4这台服务器的root/.ssh/目录下
配置免密的背景:
比如现在有两台在同一个局域网内的服务器192.168.1.3和192.168.1.4。(以下简称3和4),3这台服务器分配了外网ip,想要对3这台服务器进行操作,仅仅需要在有网络的情况下用xshell或winSCP等工具进行连接既可以对其进行任意操作。4这台服务器没有分配外网ip,只有在同一个局域网的情况下才能访问,那如何在不同的网络下对4这台服务器进行操作呢?
其实很简单,我们借助3这台有外网IP的服务器,jian间接访问就行了。命令如下:
ssh 192.163.1.4
上面这条命令的意思是在linux环境下登录另一台服务器的操作命令,下面以上提示需要输入密码才可已访问这台服务器,每次登录都需要输入密码有些太过繁琐了,所以免密配置就来救场了。
正文:
我们想通过3登录4的时不输入密码即可登录。只需要把3的公钥放到4这台服务器上即可,也就是说谁的公钥放在4这台服务器上谁登录4时就不需要输入密码。
前提:
如果没有安装ssh先使用命令安装:执行 yum install ssh
1、生成公钥和私钥文件
先在3这台服务器上生成公钥和私钥,使用命令:
[root@kvm ~]# ssh-keygen -t rsa
一路回车出现如上图即可,也可以输入一个密码(这个密码是用来算ssh key的不是登陆密码)
现在可以看到在root/.ssh/ 这个目录下生成了id_rsa和id_rsa.pub这两个文件,一个是私钥,一个是公钥。
2、将公钥文件内容导入到本机认证文件
[root@kvm .ssh]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys #将公钥文件内容添加到认证文件 authorized_keys 中
3、将认证文件远程拷贝到4这台服务器的root/.ssh/目录下
scp /root/.ssh/authorized_keys root@192.168.1.4:/root/.ssh
4.验证
在3这台服务器用ssh命令deng登录4验证是否成功
成功!
如果是集群环境方法如上。