使用SSH密钥认证是一种比密码认证更安全的方式,因为它依赖于加密的密钥对,而不是容易被暴力破解的密码。以下是详细步骤,帮助您在服务器上配置SSH密钥认证并禁用密码认证。
bashssh-keygen -t rsa -b 4096 -C "your_email@example.com"
• -t rsa
:指定密钥类型为RSA。
• -b 4096
:指定密钥长度为4096位(更安全)。
• -C "your_email@example.com"
:添加注释(可选,通常用于标识密钥)。~/.ssh/id_rsa
(私钥)和 ~/.ssh/id_rsa.pub
(公钥)。直接按回车使用默认路径。完成后,您会在 ~/.ssh/
目录下看到两个文件:
• id_rsa
:私钥(不要分享给任何人)。
• id_rsa.pub
:公钥(需要上传到服务器)。
•bashssh-copy-id -i ~/.ssh/id_rsa.pub username@your_server_ip
username
:您在服务器上的用户名。
• your_server_ip
:服务器的IP地址。上传成功后,公钥会被自动添加到服务器上的 ~/.ssh/authorized_keys
文件中。
ssh登录到服务器,然后这样将追加公钥到 authorized_keys:
cat ~/公钥文件id_rsa.pub >> ~/.ssh/authorized_keys
bashssh username@your_server_ip
打开 MobaXterm,点击 Session,选择 SSH。
输入服务器的 IP 地址和用户名。
在 Advanced SSH settings 选项卡中:
勾选 Use private key。
点击右侧的文件夹图标,选择您保存的私钥文件(例如 id_rsa)。
点击 OK 保存配置。
/etc/ssh/sshd_config
:
bashsudo vim /etc/ssh/sshd_config
bashPasswordAuthentication no
bashPubkeyAuthentication yes
bashsudo systemctl restart sshd
~/.ssh/id_rsa
)备份到安全的地方,避免丢失。~/.ssh/authorized_keys
文件中。600
,即只有所有者可以读写:
bashchmod 600 ~/.ssh/id_rsa
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!