CentOS创建免密码SSH(密钥)

本文介绍了如何通过命令行生成SSH密钥对,并详细说明了密钥对的使用过程,包括复制公钥到授权文件中及如何通过SSH命令验证密钥配置是否正确。

1、输入以下命令:ssh-keygen -t rsa

2、输入命令ls:产生两个文件:id_rsa id_rsa.pub

3、复制id_rsa.pub,并命名为authorized_key

cp ~/.ssh/id_rsa.pub  ~/.ssh/authorized_keys

4、执行ssh localhost。

验证成功:

The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is 07:07:8e:1c:c0:7e:7f:1f:ca:6a:e6:d3:cb:7f:b7:a1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.

<think>好的,我现在需要帮用户解决在CentOS 7上配置SSH免密码登录的问题。首先,我得回忆一下相关的步骤,可能还需要查看提供的引用资料来确保准确性。 首先,用户提到生成密钥对,这应该是第一步。根据引用[3]、[4]、[5],生成密钥对的命令是ssh-keygen,通常使用RSA算法。用户可能需要知道具体命令和参数,比如-t rsa和可能的注释-C,不过引用[5]的例子用了-C,但实际中注释不是必须的。这里需要说明生成密钥的过程,包括保存路径和是否设置码的问题。 接下来是将公钥复制到目标服务器。引用[1]、[3]、[4]都提到了将公钥复制到服务器的authorized_keys文件中。常用的方法是使用ssh-copy-id命令,或者手动复制。需要详细说明这两种方法,尤其是ssh-copy-id的用法,因为它更简便安全。同时要注意权限问题,比如.ssh目录和authorized_keys文件的权限必须正确,否则SSH不会接受,这点在引用[3]中提到了。 然后是修改SSH配置文件。引用[3]指出需要修改sshd_config,确保PubkeyAuthentication和PasswordAuthentication的设置正确。这里需要提醒用户编辑配置文件后要重启sshd服务,并测试配置是否正确,避被锁在服务器外。比如,可以建议用户保留一个活动的会话,直到确认密钥登录成功后再关闭。 此外,还要注意文件权限的问题,引用[3]和[4]都提到.ssh目录权限应为700,authorized_keys是600。如果权限不对,会导致验证失败,所以这一步必须详细说明。 用户可能遇到的问题包括权限错误、配置文件错误、或者密钥生成不正确。需要预见到这些问题,并在步骤中给出解决方法,比如检查日志文件/var/log/secure,或者手动测试SSH连接。 最后,生成的相关问题需要考虑用户可能的后续疑问,比如权限设置、不同用户配置、多台服务器的情况,以及故障排除的方法。这样用户可以根据生成的问题进一步学习或解决问题。 总结一下,整个流程需要分步骤详细说明,同时结合引用中的正确方法,确保用户能够一步步操作成功,并且避常见错误。另外,注意使用中文,保持口语化,避技术术语过于复杂,让用户容易理解。</think>以下是在CentOS 7上通过SSH密钥实现免密码登录的详细步骤: ### 一、生成密钥对(客户端操作) 1. 打开终端执行命令: ```bash ssh-keygen -t rsa -b 4096 ``` 2. 按提示选择保存路径(默认`$HOME/.ssh/id_rsa`) 3. **建议设置密钥保护码**(直接回车跳过则为空码) 此时生成: - 私钥:`~/.ssh/id_rsa`(权限需为600) - 公钥:`~/.ssh/id_rsa.pub` ### 二、部署公钥到服务器 #### 方法1:使用ssh-copy-id(推荐) ```bash ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@服务器IP ``` 输入服务器码后自动完成部署[^3][^5] #### 方法2:手动部署 1. 复制公钥内容: ```bash cat ~/.ssh/id_rsa.pub ``` 2. 登录服务器后执行: ```bash mkdir -p ~/.ssh echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` ### 三、服务器配置(需root权限) 1. 编辑SSH配置文件: ```bash vi /etc/ssh/sshd_config ``` 2. 确保以下参数: ```bash PubkeyAuthentication yes PasswordAuthentication no # 禁用码登录(建议先测试密钥登录成功后再修改) ``` 3. 重启服务生效: ```bash systemctl restart sshd ``` ### 四、验证连接 ```bash ssh -i ~/.ssh/id_rsa 用户名@服务器IP ``` 若配置成功将直接登录(或提示输入密钥码)[^2][^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值