centos7 ssh免密码登录

本文介绍如何在两台Linux服务器之间设置免密码SSH连接。包括安装必要的软件、配置主机名和hosts文件,以及生成和分发SSH密钥。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提准备

在每台机器上安装:
yum install -y openssh-clients
分别打开两台服务器的hosts文件,在文件末尾添加以下内容,让主机名和IP对应。(还有就是别忘了分别修改两台服务器的/etc/sysconfig/network文件里的HOSTNAME,改成对应的服务器的主机名即可。)
`vim /etc/hosts
server1 192.168.1.69

免密码登录

所有操作都在/root目录下
首先在server1运行ssh-keygen,直接一路回车
然后再server2运行相同操作
在server1上ssh-copy-id -i .ssh/id_rsa.pub root@server2
在server2上ssh-copy-id -i .ssh/id_rsa.pub root@server1

### 如何在 CentOS 7 上设置 SSH 免密登录 #### 准备工作 为了确保能够成功配置免密码登录,在开始之前需确认已安装并启动了 OpenSSHsshd 服务。通常情况下,默认已经安装。 #### 创建公钥和私钥对 如果本地机器尚未创建过 SSH 密钥,则需要先生成一对新的 RSA 密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令将会提示指定保存位置(默认即可),以及输入 passphrase(可以为空)。完成后会在 `~/.ssh` 文件夹下找到两个新文件:`id_rsa`(私钥) 及其对应的公开部分 `id_rsa.pub`[^3]。 #### 将公钥复制到目标服务器 有多种方式可把客户端产生的公钥传输至远程主机,这里介绍两种常用方法之一——利用 `ssh-copy-id` 工具完成操作非常简便快捷: ```bash ssh-copy-id user@remote_host_ip_address ``` 此指令会自动连接到指定 IP 地址的目标设备,并询问当前用户的密码验证身份;一旦认证通过即刻上传 `.pub` 文件中的内容追加进对方家目录下的 `authorized_keys` 中去[^4]。 另一种手动的方式则是直接编辑远程计算机上的 `~/.ssh/authorized_keys` 文件并将本地生成的公钥粘贴进去。不过这种方式相对复杂一些,推荐初学者采用前一种方案。 #### 测试无密码访问功能 现在应该可以从源节点无需再次提供任何凭证就能顺利登陆目的端了。尝试执行如下命令检验效果: ```bash ssh user@remote_host_ip_address ``` 如果一切正常的话,此时应当可以直接进入远端 shell 而不需要重新输入密码了[^1]。 #### 安全建议 虽然实现了便捷性,但也请注意适当调整权限以保障安全性。对于 `/home/user/.ssh` 目录及其内部的所有文件来说,理想的权限设定应该是这样的: - 对于整个`.ssh`目录本身而言,应将其设为仅允许属主读写(`chmod 700 ~/.ssh`) - 授权列表文件`authorized_keys`则只需让拥有者具有读取权利就足够了 (`chmod 600 ~/.ssh/authorized_keys`) 这样既不影响正常使用又能有效防止潜在风险的发生[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值