配置SSH免密登录


一、具体步骤

  • 创建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

参考文章

SSH免密登录(CSDN)


  目录