使用SSH密钥认证是一种比密码认证更安全的方式,因为它依赖于加密的密钥对,而不是容易被暴力破解的密码。以下是详细步骤,帮助您在服务器上配置SSH密钥认证并禁用密码认证。
在本地计算机生成SSH密钥对
bash展开代码ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
将公钥上传到服务器(方式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
/etc/ssh/sshd_config
:
bash展开代码sudo vim /etc/ssh/sshd_config
bash展开代码PasswordAuthentication no
bash展开代码PubkeyAuthentication yes
bash展开代码sudo systemctl restart sshd
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!