首页主机资讯如何用CentOS实现SSH免密登录

如何用CentOS实现SSH免密登录

时间2026-01-21 04:50:04发布访客分类主机资讯浏览1334
导读:要实现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
怎样用CentOS进行SSH远程管理 centos postman API测试技巧

游客 回复需填写必要信息