配置ssh免密登录的关键在于生成密钥对并将公钥添加到远程服务器的authorized_keys中,具体步骤如下:1. 在本地使用ssh-keygen命令生成4096位rsa密钥对,私钥保留本地,公钥用于上传;2. 通过ssh-copy-id命令或手动复制粘贴方式将公钥写入远程服务器的~/.ssh/authorized_keys文件,并确保目录和文件权限分别为700和600;3. 测试登录时若无需密码则表示成功,否则需检查公钥内容、权限设置、ssh服务配置及使用的私钥是否正确。

配置SSH免密登录其实并不难,关键在于理解公钥和私钥的配对机制。整个过程主要就是生成密钥对、把公钥放到目标服务器上、然后测试能不能顺利登录。下面分步骤说清楚怎么操作。

第一步是在你的本地机器上生成一对密钥:一个私钥(保留在你本地)、一个公钥(要传到远程服务器上)。

执行命令:
ssh-keygen -t rsa -b 4096
这个命令会生成RSA类型的密钥,长度为4096位,安全性更高。过程中会让你选择保存路径,默认是 ~/.ssh/id_rsa,直接回车就行;接着会让你设置密码(passphrase),如果你希望完全免密登录,这里可以直接回车跳过。

执行完成后,会在 .ssh 目录下生成两个文件:
id_rsa:私钥,不要泄露id_rsa.pub:公钥,可以上传到服务器这一步的核心是把本地的公钥内容写入到远程服务器用户家目录下的 .ssh/authorized_keys 文件里。
有几种方法可以实现:
ssh-copy-id user@remote_host
替换 user 和 remote_host 为你实际的用户名和IP地址或域名。这个命令会自动将公钥追加到远程主机的 ~/.ssh/authorized_keys 文件中。
查看本地公钥内容:
cat ~/.ssh/id_rsa.pub
登录远程服务器:
ssh user@remote_host
编辑或创建 ~/.ssh/authorized_keys 文件,把刚才的公钥内容粘贴进去:
echo "粘贴的内容" >> ~/.ssh/authorized_keys
注意权限问题:确保 .ssh 目录权限是 700,authorized_keys 文件权限是 600,否则SSH可能拒绝使用它。
可以用这些命令修复权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
退出当前的SSH连接,再重新尝试登录:
ssh user@remote_host
如果不需要输入密码就进去了,说明配置成功。
如果还是需要密码,检查以下几点:
authorized_keys
基本上就这些步骤。看起来有点多,但每一步都不复杂,关键是细节别出错,比如权限和路径这些地方容易忽略。
以上就是怎样在Linux中配置SSH免密登录?ssh-keygen和authorized_keys设置步骤的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号