Linux服务器通过密钥登录服务器
使用公钥实现服务器A到B的免密登录
1. 登录A服务器执行命令生成密钥对,执行命令会有交互,连续三次回车即可;密钥生成完成后,会在~/.ssh目录下生成两个文件,id_rsa为私钥,另一个是公钥,可以通过cat命令查看公钥内容
ssh-keygen -t rsa
2. 登录B服务器,执行命令创建相关目录和文件,并复制公钥
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys
# 将第一步生成的公钥添加到~/.ssh/authorized_keys文件中
3.在B服务器上执行命令修改系统的ssh配置文件,并重启ssh服务
vim /etc/ssh/sshd_config
# 允许公钥登录(默认开启)
PubkeyAuthentication yes
# 公钥存储路径
AuthorizedKeysFile .ssh/authorized_keys
# 禁用密码登录(可选,推荐,更安全)
PasswordAuthentication no
# 重启ssh服务
systemctl restart sshd
4.在A服务器上执行命令,测试密钥登录,正常会直接登录到B服务器上,无需输入密码(首次登录会有交互,提示保存指纹信息,输入yes回车即可)
ssh root@B服务器IP
使用私钥登录A服务器
1. 登录A服务器执行命令复制公钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2. 执行上面的第3步修改系统的ssh配置文件
3. 将私钥下载到本地电脑,之后就可以在XShell等工具上使用私钥来登录A服务器了;私钥应严格保密,仅自己人能够使用!
