在Linux服务器上创建SSH密钥对是一种安全且便捷的身份验证方式,可以有效防止密码被暴力破解,以下是详细的步骤和注意事项:
一、创建SSH密钥对
1、生成密钥对:使用ssh-keygen
命令生成密钥对,默认情况下,RSA加密算法会被使用,密钥长度为2048位,执行以下命令:
ssh-keygen -t rsa
按照提示操作,可以选择保存密钥的位置(默认是/home/用户名/.ssh/id_rsa
),并设置密钥的口令(可选)。
2、查看生成的文件:执行完上述命令后,会在指定目录下生成两个文件:id_rsa
(私钥)和id_rsa.pub
(公钥),私钥需要妥善保管,而公钥则可以分发到需要访问的服务器上。
二、配置服务器以使用密钥对登录
1、上传公钥到服务器:可以使用ssh-copy-id
命令将公钥复制到远程服务器上的用户主目录的.ssh/authorized_keys
文件中:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_host
或者手动将公钥内容追加到远程服务器的~/.ssh/authorized_keys
文件中:
ssh username@remote_host 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub
2、设置文件权限:确保服务器上的.ssh
目录和authorized_keys
文件具有正确的权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
3、配置SSH服务:编辑/etc/ssh/sshd_config
文件,确保以下配置项被正确设置:
RSAAuthentication yes PubkeyAuthentication yes PermitRootLogin yes # 如果允许root用户通过密钥登录 PasswordAuthentication no # 禁用密码认证以提高安全性
重启SSH服务以使配置生效:
systemctl restart sshd
三、使用私钥登录服务器
在客户端机器上,使用以下命令通过私钥登录到服务器:
ssh -i /path/to/private_key username@remote_host
如果设置了私钥口令,系统会提示输入。
四、常见问题及解答(FAQs)
Q1: 如何更改或重置SSH密钥对的口令?
A1: 如果需要更改或重置私钥的口令,可以使用以下命令:
ssh-keygen -p -f /path/to/private_key
按照提示操作即可。
Q2: 如果忘记了私钥的口令怎么办?
A2: 如果忘记了私钥的口令,很遗憾,无法直接恢复或重置口令,唯一的办法是重新生成密钥对,并在所有需要的地方更新公钥,建议在创建密钥对时妥善保管好口令。
五、小编有话说
通过以上步骤,你可以在Linux服务器上成功创建并配置SSH密钥对,实现安全的免密登录,这种方式不仅提高了系统的安全性,还简化了登录过程,记得在实际操作中妥善保管好你的私钥和口令,避免泄露给未经授权的人员,希望这篇文章对你有所帮助!
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1487986.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复