腾讯云多个实例之间SSH免密访问

来源:互联网 发布:qq for mac 编辑:程序博客网 时间:2024/06/16 05:44

以四个腾讯云实例为例,操作系统为 Ubuntu 14.04.5 LTS,假设分别取名为node0,node1,node2,node3。

1.在/etc/hosts文件中将内网IP和对应别名写入,并保存

sudo vi /etc/hosts

这里写图片描述

2.安装ssh

sudo apt-get updatesudo apt-get install ssh

3.检查/home/ubuntu/.ssh/目录

先进入/home/ubuntu/.ssh/目录,若.ssh/目录用户组为root,则删除该目录。

cd /home/ubuntu/#列出Ubuntu目录下详细信息ls -l

这里写图片描述

如上图所示则删除该目录

sudo rm -r /home/ubuntu/.ssh/

若目录正常或没有该目录则直接进行下一步

4.生成ssh公钥和私钥

ssh-keygen -t rsa 

一路回车直到出现以下提示
这里写图片描述

这个时候每个/home/ubuntu/.ssh/目录下都生成的id_rsa和id_rsa.pub。

5.将每个机器的id_ras.pub私钥信息都写入同一个文件authorized_keys中

在node0中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

这里写图片描述
会生成一个authorized_keys文件并将node0的id_rsa.pub中的内容复制进去,用cat命令分别打印两个文件内容到屏幕上对比如下图
这里写图片描述
可以发现node0的id_rsa.pub中的内容被复制到authorized_keys中,两者内容完全一致。

下面将其他机器的id_rsa.pub都复制到authorized_keys中,在Xshell中,用vi编辑node0的authorized_keys,并用vi打开node1,node2,node3的id_rsa.pub文件,用鼠标将其复制到node0的authorized_keys中。
(也可以采用scp和cat file1 >> file2结合的方式实现这一过程)
这里写图片描述
按ESC 并输入:wq!保存该文件

这样authorized_keys中就有所有节点的私钥信息了,将authorized_keys拷贝到每个节点上,可以用scp命令。

scp authorized_keys node1:~/.ssh/scp authorized_keys node2:~/.ssh/scp authorized_keys node3:~/.ssh/

这里写图片描述
中间会要求输入其他机器的密码。

复制完成后,每台机器上都有其他机器的私钥,这个时候就可以直接用ssh noden的方式访问其他机器了。

原创粉丝点击