Ubuntu16.04下配置ssh免密登录

时间:2021-10-22 02:46:04

Ubuntu16.04下配置ssh免密登录

环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态。分别为两台虚拟机命名为A,B。假设我们要使A虚拟机免密登录B虚拟机。

1.在A虚拟机的普通用户的终端下输入如下命令:

 ssh-keygen

然后一直按回车到结束。这时在/home/username/的目录下发现多了一个.ssh/的目录。进入到.ssh/目录下会发现有id_rsa和id_rsa.pub这两个目录,它们分别为私钥和公钥。

2.在B虚拟机的普通用户的终端下输入如下命令:

sudo mkdir /home/username/.ssh/
sudo touch /home/username/.ssh/authorized_keys

在B虚拟机创建新目录/home/username/.ssh/,并且在该目录下创建新的文件authorized_keys。

3.在A虚拟机的普通用户的终端下输入如下命令:

sudo scp -r id_rsa.pub username@10.192.12.103:/home/username/.ssh/

将A虚拟机生成的公钥复制到B虚拟机的.ssh/目录下,如上命令的IP为B虚拟机的IP。

4.在B虚拟机的终端下输入如下命令:

cat /home/username/.ssh/id_rsa.pub >> /home/username/.ssh/authorized_keys
rm -rf /home/username/.ssh/id_rsa.pub
chmod /home/username/.ssh
chmod /home/username/.ssh/authorized_keys

将从A传过来的公钥里的内容复制到新建的文件authorized_keys中,然后删除公钥,再修改权限。

5.在A虚拟机的终端下测试ssh是否可以成功的免密登录B虚拟机,输入以下命令:

ssh 10.192.12.103

如果不需要输入B的登录密码,直接进入B,那么表示配置成功。