一、环境
两台虚拟机做ssh免密登录及设置别名。(此文章是登录root用户,若登录root时出现access denied错误,可参照答主的文章:https://blog.csdn.net/qq_39892503/article/details/103478579 )
用户 | IP地址 |
root(jzy-s-Ubuntu18) | 192.168.1.128 |
root(ubuntu) | 192.168.1.104 |
注:此处使用ubuntu登录jzy-s-Ubuntu18,以下操作也针对于此。
二、免密登录操作
2.1 生成密钥
登录192.168.1.104,通过 ssh-keygen 命令生成密钥,一路回车即可,生成密钥会在~/.ssh中。
2.2 复制公钥
ssh-keygen 命令会生成两个密钥,id_rsa_pub公钥及id_rsa私钥,将公钥复制到服务器(jzy-s-Ubuntu18),执行如下:
ssh-copy-id -p port user@remote
//命令样式 ,默认端口22就不用加-p选项了,remore指ip地址root@ubuntu:~# ssh-copy-id root@192.168.1.128
公钥复制到服务器后,服务器~/.ssh文件夹会自动生成authorized_keys文件,此文件的内容即为客户端的公钥。至此如果没有问题,即可免密登录。
三、设置别名
每次都输入ssh -p port user@remote
一长串命令就很麻烦,配置别名可以偷个懒,在~/.ssh/config(没有config文件夹就创建一个)里加入以下内容:
Host 自己取个名
HostName ip地址
User username
Port 22
至此如果没有问题,即可通过别名免密登录,如下图: