ssh 公钥密钥连接,免密登录设置
编辑
2025-03-11
Linux运维
00

目录

生成SSH密钥对
设置服务器authorized_keys
连接服务器
禁用服务器密码认证

使用SSH密钥认证是一种比密码认证更安全的方式,因为它依赖于加密的密钥对,而不是容易被暴力破解的密码。以下是详细步骤,帮助您在服务器上配置SSH密钥认证并禁用密码认证。

生成SSH密钥对

在本地计算机生成SSH密钥对

bash
展开代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

设置服务器authorized_keys

将公钥上传到服务器(方式1)。上传成功后,公钥会被自动添加到服务器上的 ~/.ssh/authorized_keys 文件中。

bash
展开代码
ssh-copy-id -i ~/.ssh/id_rsa.pub username@your_server_ip

将公钥上传到服务器(方式2)。ssh登录到服务器,然后这样将追加公钥到 authorized_keys:

展开代码
vim ~/tmp.pub # 然后复制公钥进去 cat "" >> ~/.ssh/authorized_keys # 清除之前的,不执行这个清除那之前的也可以用 cat ~/tmp.pub >> ~/.ssh/authorized_keys

确保服务器文件的权限为 600,即只有所有者可以读写:

bash
展开代码
chmod 600 ~/.ssh/authorized_keys

连接服务器

展开代码
ssh username@your_server_ip

禁用服务器密码认证

  1. 登录到服务器。
  2. 编辑SSH配置文件 /etc/ssh/sshd_config
    bash
    展开代码
    sudo vim /etc/ssh/sshd_config
  3. 找到以下行并修改为:
    bash
    展开代码
    PasswordAuthentication no
  4. 确保以下行没有被注释掉(如果没有,请添加):
    bash
    展开代码
    PubkeyAuthentication yes
  5. 保存并退出编辑器。
  6. 重启SSH服务以应用更改:
    bash
    展开代码
    sudo systemctl restart sshd
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!