ssh两台机器配置互相信任关系

本文详细介绍了如何通过生成公钥和配置authorized_keys文件实现SSH互信,从而在多台主机间进行无密码登录。首先在各节点生成SSH密钥对,并将公钥复制到目标机器的authorized_keys文件中。

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

配置ssh互信操作步骤:

1.生成公钥
[root@hadoop000 ~]# rm -rf ~/.ssh
[root@hadoop000 ~]# ssh-keygen
[root@hadoop001 ~]# rm -rf ~/.ssh
[root@hadoop001 ~]# ssh-keygen
2.选择第一台作为先完善的机器
[root@hadoop000 .ssh]# cat id_rsa.pub >> authorized_keys
将本机公钥输出到authorized_keys中
3.其他机器将id_rsa.pub发送给第一台
[root@hadoop001 .ssh]# scp id_rsa.pub  192.168.137.251:/root/.ssh/id_rsa.pub.hadoop001
4.将其他机器的id_rsa.pub追加到authorized_keys
[root@hadoop000 .ssh]# cat id_rsa.pub.hadoop001 >> authorized_keys
5.然后将该authorized_keys分发
[root@hadoop000 .ssh]# scp authorized_keys 192.168.137.141:/root/.ssh/

每台机器第一次ssh跳转其他机器都需输入yes 目的 –> known_hosts
之后再登录其他机器就无需密码了。

### 配置 SSH 连接的方法 在云计算实验中,配置 SSH 连接是一个重要的环节。以下是关于如何在 CentOS Stream 9 中优化并配置 SSH 的方法。 #### 关闭 SSH DNS 解析以提升连接速度 为了减少因 DNS 查找而导致的延迟问题,可以通过编辑 `sshd_config` 文件来禁用反向 DNS 查询功能。具体操作如下: 1. 打开 `/etc/ssh/ssd_config` 文件进行编辑: ```bash sudo vi /etc/ssh/sshd_config ``` 2. 将以下参数设置为 `no` 来关闭 DNS 反查功能: ``` UseDNS no GSSAPIAuthentication no ``` 3. 保存文件后重启 SSH 服务使更改生效: ```bash sudo systemctl restart sshd ``` 通过上述步骤可以有效解决由于 DNS 延迟引起的 SSH 登录缓慢问题[^1]。 #### 设置 SSH 免密码登录 为了让多台服务器间能够便捷地相互访问而无需每次输入密码,可采用基于公钥认证的方式实现免密登录。其主要流程包括以下几个方面: - **生成密钥对** 使用 `ssh-keygen` 工具生成一对 RSA 密钥: ```bash ssh-keygen -t rsa ``` - **分发公钥到目标主机** 利用 `ssh-copy-id` 命令将本地用户的公钥复制至远程机器上: ```bash ssh-copy-id user@remote_host ``` - **测试无密码登录** 完成以上两步之后尝试再次登录对方设备确认是否已成功建立信任关系: ```bash ssh user@remote_host ``` 如果一切正常,则应该可以直接进入而不需再提供任何凭证信息[^2]。 #### 创建虚拟环境用于实践学习 对于初学者来说,在正式环境中练习可能会带来风险;因此建议先构建一个隔离的学习平台来进行各项技能训练。比如利用 VirtualBox 或 VMware Workstation 虚拟化软件创建多个运行不同角色(如 master/slave nodes)的操作系统实例,并依据实际需求调整硬件资源配置情况。例如,按照标准设定一台具有单核 CPU、1GB RAM 和至少 20GB 存储空间的新建虚拟机会比较合适[^4]。 此外,整个过程中还需要熟悉各种基础 Linux 操作指令的应用场景及其语法结构等内容,这有助于更好地管理和维护这些模拟出来的计算节点们之间的协作模式[^3]。 ```python # 示例 Python脚本展示如何自动化部署SSH key import os def generate_ssh_key(username, hostname): command = f'ssh-keygen -t rsa && ssh-copy-id {username}@{hostname}' result = os.system(command) return 'Success' if not result else 'Failed' print(generate_ssh_key('test', 'localhost')) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值