一、具体步骤
- 创建SSH密钥对(本地):
ssh-keygen -t rsa -b 2048 -C "xxxxxxxxx@email.xxx"
- 复制公钥到远程服务器(本地):
ssh-copy-id username@remote_host
- 在本地的 SSH 配置文件
~/.ssh/config
中添加远程服务器的配置,以便更方便地连接:
替换
远端ip或域名
为实际ip或域名,chanpoe
为自定义远端别名,可以直接通过别名连接(见下图)
Host chanpoe
HostName 远端ip或域名
User user
IdentityFile ~/.ssh/id_rsa
二、配置失败可能的问题
1. 远端未开启允许密钥认证
确保远程服务器上的 SSH 服务配置文件 /etc/ssh/sshd_config
允许密钥认证。查找以下行,并确保它们没有被注释,并且设置正确:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
如果修改了 /etc/ssh/sshd_config
则需要重启sshd服务:
sudo systemctl restart sshd
2. 权限问题
在远程服务器上,确保用户的 home
目录和.ssh
目录的权限是正确的。运行以下命令:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys