如何用CentOS实现SSH免密登录
导读:要实现SSH免密登录,你需要生成一对SSH密钥(公钥和私钥),然后将公钥复制到目标服务器的authorized_keys文件中。以下是详细步骤: 1. 生成SSH密钥对 在本地机器上打开终端,运行以下命令来生成SSH密钥对: ssh-key...
要实现SSH免密登录,你需要生成一对SSH密钥(公钥和私钥),然后将公钥复制到目标服务器的authorized_keys文件中。以下是详细步骤:
1. 生成SSH密钥对
在本地机器上打开终端,运行以下命令来生成SSH密钥对:
ssh-keygen -t rsa -b 4096
-t rsa指定使用RSA算法。-b 4096指定密钥长度为4096位。
运行命令后,系统会提示你输入文件保存位置和密码短语(passphrase)。你可以选择默认位置(通常是~/.ssh/id_rsa)并设置一个密码短语,或者直接按回车键使用默认设置。
2. 将公钥复制到目标服务器
使用ssh-copy-id命令将公钥复制到目标服务器的authorized_keys文件中。假设目标服务器的IP地址是192.168.1.100,用户名是user:
ssh-copy-id user@192.168.1.100
运行命令后,系统会提示你输入目标服务器用户的密码。输入密码后,公钥将被复制到目标服务器的~/.ssh/authorized_keys文件中。
3. 测试免密登录
现在你可以尝试免密登录到目标服务器:
ssh user@192.168.1.100
如果一切设置正确,你应该能够直接登录到目标服务器,而不需要输入密码。
4. 配置SSH客户端(可选)
如果你希望进一步配置SSH客户端,可以在本地机器的~/.ssh/config文件中添加以下内容:
Host 192.168.1.100
HostName 192.168.1.100
User user
IdentityFile ~/.ssh/id_rsa
这样,你就可以直接使用ssh 192.168.1.100来登录目标服务器,而不需要每次都输入用户名和私钥路径。
注意事项
- 确保目标服务器的SSH服务允许使用公钥认证。你可以在目标服务器的
/etc/ssh/sshd_config文件中检查以下配置:PubkeyAuthentication yes - 如果目标服务器的防火墙阻止了SSH连接,请确保相应的端口(默认是22)是开放的。
- 如果你使用的是非默认的SSH端口,请在
ssh-copy-id命令中指定端口:ssh-copy-id -p 2222 user@192.168.1.100
通过以上步骤,你应该能够成功实现SSH免密登录。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何用CentOS实现SSH免密登录
本文地址: https://pptw.com/jishu/788120.html
