如果你还没有 SSH 密钥对,可以使用以下命令生成:(win可以用git的终端)
ssh-keygen -t rsa -b 4096
~/.ssh/id_rsa
,win在C:\Users\你的用户名\.ssh
)。使用 ssh-copy-id
命令将公钥复制到目标服务器:
ssh-copy-id username@hostname
username
替换为你的用户名,hostname
替换为目标服务器的 IP 地址或域名。id_rsa.pub
后写入/ubuntu用户名/.ssh/authorized_keys
文件如果你无法使用 ssh-copy-id
,可以手动复制公钥:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
现在你可以尝试使用 SSH 登录到目标服务器,看看是否可以不输入密码:
ssh username@hostname
如果需要,可以编辑 SSH 配置文件 /etc/ssh/sshd_config
,确保以下设置:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
然后重启 SSH 服务:
sudo systemctl restart ssh
通过以上步骤,你应该能够成功配置 SSH 公钥认证,然后就可以在xshell中使用私钥登录了。