1、服务器端开启密钥登录模式
$ vim /etc/ssh/sshd_config
# 是否允许 root 远程登录
PermitRootLogin yes
# 密码登录是否打开
PasswordAuthentication yes
# 开启公钥认证
RSAAuthentication yes # 这个参数可能没有 没关系
PubkeyAuthentication yes
# 存放登录用户公钥的文件位置
# 位置就是登录用户名的家目录下的 .ssh
# root 就是 /root/.ssh
# foo 就是 /home/foo/.ssh
AuthorizedKeysFile .ssh/authorized_keys
重启sshd
service sshd restart
2、用户端创建自己的秘钥对
ssh-keygen -t rsa -C "your@email.com"
cd ~/.ssh/
# 查看公钥
cat id_rsa.pub
# 配置登录别名 省去输 ip 麻烦
vi config
Host examp # 登录的服务器别名 ssh examp 就可以了
HostName 233.233.233.233 #要登录的服务器ip
Port 22
User root #登录名
IdentityFile ~/.ssh/id_rsa #你的私钥路径
ServerAliveInterval 30
TCPKeepAlive yes
3、将你的公钥添加至服务器端的公钥凭证
可以添加多份公钥
echo 你的公钥内容 >> ~/.ssh/authorized_keys
4、用户端即可免密登录
ssh exmap