为什么要设置无密码登陆
日常维护服务器工作中,我们都会专门寻找一些第三方工具来管理我们的服务器,
有本地安装客户端的,
有绿色版随处可带放在U盘的,
有浏览器输入一个链接就能使用的webShell。
但当要临时查看一下服务器文件、重启一下某个项目的服务端等,我还是会选用本地shell的ssh通道直连,按一下按快捷输入一条命令就马上登陆,用起来时非常舒畅和顺手的。
本地 生成公钥
创建ssh公钥文件
windows下
win+x 然后按 a 调出powershell
# 创建公钥命令 - 一路按确认即可创建本地公钥文件
ssh-keygen
生成的公钥文件存放在:
C:\Users[用户名]\.ssh\id_rsa.pub
服务器 开启ssh公钥登陆
修改配置
配置文件: /etc/ssh/sshd_config
# 打开配置文件(路径按需修改)
vim /etc/ssh/sshd_config
1 是否允许通过密码登陆
PasswordAuthentication yes
2 开启公钥免密码登陆
PubkeyAuthentication yes
添加本地公钥到服务器
[服务器] 公钥记录文件路径
cd ~/.ssh/
# 进入服务器ssh配置目录
cd ~/.ssh/
# 备份一份公钥列表文件
mv ~/.ssh/authorized_keys ~/.ssh/authorized_keys_bk
# 添加新的公钥到文件内
vim ~/.ssh/authorized_keys
# 退出服务器重新登陆即可享受无密码登陆
exit
ssh xxx@xxxx -p xxx