配置ssh连接

之前一篇博客使用rsync搭建远程服务器提到了ssh的连接,这里再写一篇记录一般使用ssh远程连接的方法以及记录自己遇到过的问题

1.连接

  1. 生成密钥与公钥——ssh-keygen -t rsa,之后会提示密钥公钥对的文件名称保存位置,是否设置pass phrase等,较为简单
  2. 拷贝公钥到目标主机——ssh-copy-id -i 公钥文件.pub 用户@主机ip,将指定公钥文件拷贝到指定主机
  3. 连接到远程主机——ssh 用户@主机ip,连接到主机ip

2.问题

  1. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    原因:在远程主机更改了ssh配置,丢失了原先拷贝到主机上的公钥时(比如目标主机重装了,或者删除了公钥),而本地主机识别了原先主机的ip,但是却发现对方公钥变了,导致验证公钥错误
    解决:按照错误提示删除本地记录的目标主机信息,ssh-keygen -f "/path/to/known_hosts" -R "主机ip"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 Ansible 来配置 SSH 连接。在 Ansible 中,您可以通过设置主机清单文件和 Ansible 配置文件以及使用 Ansible 提供的模块来配置 SSH 连接。 首先,您需要创建一个主机清单文件,该文件列出了您要管理的远程主机的信息。在该文件中,您可以指定远程主机的 IP 地址、用户名、密码等信息。例如,创建一个名为 `hosts.ini` 的文件,并添加类似以下内容: ``` [web_servers] web1 ansible_host=192.168.0.101 ansible_user=user1 ansible_password=password1 web2 ansible_host=192.168.0.102 ansible_user=user2 ansible_password=password2 ``` 接下来,您需要创建一个 Ansible 配置文件,其中包含有关您的 SSH 连接的设置。在这里,您可以指定连接超时时间、SSH 私钥等。创建一个名为 `ansible.cfg` 的文件,并添加类似以下内容: ``` [defaults] timeout = 30 private_key_file = /path/to/your/private_key ``` 最后,您可以使用 Ansible 提供的模块来与远程主机进行交互。例如,使用 `ping` 模块测试与所有远程主机的 SSH 连接: ```shell $ ansible all -m ping -i hosts.ini ``` 上述命令将使用 `hosts.ini` 中定义的主机清单,并尝试与所有主机建立 SSH 连接进行 ping 测试。 请注意,上述配置中的明文密码是不安全的,最好使用 SSH 密钥进行身份验证。您可以将 SSH 公钥添加到远程主机上的 `~/.ssh/authorized_keys` 文件中,从而实现无密码 SSH 连接

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值