ssh 免密码登录,以及 本地和远端用户名不一致 问题

ssh 远程登录
 ssh -l u1 u1@192.168.0.7
ssh u1@192.168.0.7
每次远程都要输入 用户名,密码 比较麻烦。所以比较好的是免密码登录

1.安装ssh服务器

sudo apt-get install openssh-server

启动
sudo /etc/init.d/ssh resart

2.生成 ssh 私钥和公钥

ssh-keygen -t rsa
一路回车即可,当然也可以根据提示,设置 ssh 的位数,密码

  1. 创建 authorized_keys 文件
    在 .ssh目录下,也就是 公钥和私钥的同级目录,创建authorized_keys文件,并将 本地和远程主机的 公钥 都写进去

4.修改 hosts文件
sudo vim /etc/hosts
讲本机和远端主机的 ip 和主机名(注意是主机名,不是用户名,确切说是 ubuntu 命令提示符前面 an@vm~:中@后面那个vm ) 对应着写入
如:
127.0.0.1 localhost
127.0.0.1 Slave1 #将 类似这行注释掉或者删掉
192.168.0.7 Slave1
192.168.0.8 Slave2
ubuntu修改主机名可以通过 vim /etc/hostname
Hostname=Slave
ubuntu 16.04 是直接 写 Slave1 就可以了
修改主机名之后,需要重启才能生效

此时登录需要如下:
ssh u2@Slave2 这样登录
5.修改(或者是创建) .ssh/config文件
Host Slave2
user u2
Host Slave1
user u1

此时就可以通过
ssh Slave2 登录

原文地址:https://www.cnblogs.com/jijizhazha/p/7657885.html