您的位置:首页 > 其它

关于新创建一个虚拟机以及多台机器ssh无密登录的一些细节问题补充

2017-06-14 21:12 886 查看
之前我的博客里写了在VMWare下如何安装centos7以及如何配置多台机器之间实现ssh无密登录,但是当时也仅仅是安装以及实现相应效果,具体有些细节没有考虑,前几天又重新安装centos7并且测试了下ssh无密登录,这里记录一下之前没有注意到的细节问题,希望能对大家有所帮助。

1 .按照我的博客那种方式创建虚拟机,即使分配给这个虚拟机20G空间,也不会立即占用20G空间,只会根据实际需要增长

2 .按照我的那种方式创建虚拟机,无需格外设置,本地与虚拟机可以自由相互ping通

3 .第一次是在root目录下没有.ssh这个文件夹,需要手动ssh生成密钥公钥来生成公钥私钥之后就会出现这个文件夹(执行密钥生成命令会自动创建.ssh目录)

4 .虚拟机如果使用的是链接克隆的话,那么创建出来的新的虚拟机的ip地址会自动修改,具体是当前ip地址的最后一位加1,也就是无需手动修改了

5 .一开始/root/.ssh/下面是没有known_hosts文件的,也没有authorized_keys文件的

6 .当ssh远程登录到另一台机器上,一开始没有设置免密登录,输入密码后,之后会将登录的远程这台机器的ECDSA添加进本机的known_hosts里面,简单来说就是a远程登录b,会在a的/root/.ssh下面创建一个known_hosts文件,将b的ecdsa内容添加到a的known_hosts里面 这里known_host文件里存放的貌似是一个ip地址,虽然由a远程登录b,c,但是是同一个ip所以这里known_hosts文件里只是ip不一样,后面的一堆看似是乱码的东西是一样的

7 当a远程登录b和c后,会在a的known_hosts里面记录b和c的信息,但是没有a本身的信息,这样只能保证a远程登录b和c,但是不能保证b和c远程无密登录a,这里只需要在a的known_hosts里面把a的ip地址和后面的乱码添加进去即可乱码和b c的乱码内容一致,

8 将b和c的公钥全部拷贝到a的authorized_keys里,ssh root@10.8.26.196 cat ~/.ssh/id_rsa.pub>> authorized_keys 用的是这个命令

9 。此时abc的公钥全部在a的authorized_keys中,abc的ip信息也全部在a的known_hosts,然后将a中的authorized_keys和known_hosts拷贝到b和c即可,本质就是让这三台机器互相知道对方的存在,这样就省却了免认证的步骤

10 经测试,ssh远程登录如果只是将三台机器的公钥拷贝到每台机器上是不行的,必须要将known_hosts里面的内容拷贝到三台机器上才会生效,为了简单起见,每个known_host里面存放每个ip地址,除了ip其他的乱码都一样即可,这样就能实现无密登录

11 这里还需要值得注意的一点, scp known_hosts root@test2:/root/.ssh/

我这里远程拷贝和远程登录都用到了root@ip地址,之前看到的ssh免密登录都修改了/etc/hosts下面的文件,就是添加ip地址和主机名hostname的映射,实际上这一步是没必要做的,设置这一步的主要目的就是让Linux解析主机名,找到对应的ip名

如果没有修改/etc/hosts文件,那么你远程登录只能用ip地址不能用主机名,如果修改了该文件,那么可以用主机名代替ip地址进行远程操作。

12 之前认为虚拟机的链接克隆可能会导致无法免密登录,实际上没有任何影响,至此关于远程无密登录设置的疑问就全部解释清楚了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐