ansible 建立ssh信任并分发到各个机器

简介: ansible 建立ssh信任并分发到各个机器

要使用Ansible建立SSH信任并将公钥分发到各个机器,你可以按照以下步骤进行操作:

 
# 一直敲回车
ssh-keygen -t rsa

生成SSH密钥对:首先,在管理节点上生成SSH密钥对。可以使用ssh-keygen命令来生成密钥对。例如,运行ssh-keygen -t rsa命令,并按照提示进行操作。这将生成私钥(id_rsa)和公钥(id_rsa.pub)文件。

将公钥分发到各个机器:接下来,你需要将公钥分发到所有要管理的远程机器上。可以使用ssh-copy-id命令来自动完成这个过程。对于每个远程机器,运行以下命令:

ssh-copy-id <用户名>@<远程机器IP地址>

这将自动将公钥复制到远程机器的~/.ssh/authorized_keys文件中,并设置适当的权限。

如果你使用Ansible来管理多个机器,你可以在Ansible的清单文件(通常是/etc/ansible/hosts)中定义所有要管理的远程机器。然后,你可以使用Ansible的authorized_key模块来分发公钥。以下是一个示例的Ansible剧本(playbook),演示如何分发公钥到所有远程机器:

---  
- name: 分发SSH公钥到各个机器  
  hosts: all  
  become: yes  
  tasks:  
    - name: 将SSH公钥添加到远程机器的授权文件中  
      authorized_key:  
        user: <远程机器上的用户名>  
        state: present  
        key: "{{ lookup('file', '/path/to/local/id_rsa.pub') }}"

在上面的剧本中,你需要将<远程机器上的用户名>替换为实际的用户名,并将/path/to/local/id_rsa.pub替换为本地公钥文件的路径。

运行该剧本后,Ansible将连接到每个远程机器,并将公钥添加到相应用户的~/.ssh/authorized_keys文件中。这样,你就建立了SSH信任,并可以使用SSH密钥对进行无密码登录到各个机器了。

请注意,上述步骤假设你已经配置了Ansible,并且具有足够的权限来执行这些操作。确保在执行任何操作之前,你已经了解了潜在的安全风险,并采取了适当的安全措施来保护你的系统。

相关文章
|
6月前
|
运维 应用服务中间件 网络安全
Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)
Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)
|
6月前
|
运维 搜索推荐 Shell
Ansible自动化运维工具之个性化定制SSH连接登录端口(3)
Ansible自动化运维工具之个性化定制SSH连接登录端口(3)
188 0
|
11月前
|
Linux 网络安全
【Linux网络服务】SSH密钥的批量分发
【Linux网络服务】SSH密钥的批量分发
|
安全 网络安全 Python
Python建立SSH连接与使用方法
paramiko是一个Python实现的SSH协议库,可以用来建立SSH连接、传输文件等。你可以在Python环境中使用pipan
Python建立SSH连接与使用方法
|
Shell 网络安全 数据安全/隐私保护
Python建立ssh连接|paramiko实践
Python建立ssh连接|paramiko实践
363 0
|
分布式计算 资源调度 Hadoop
Hadoop运行模式(二)、SSH无密登录配置、生成公钥和私钥、集群配置、集群部署规划、默认配置文件、核心配置文件、HDFS配置文件、YARN配置文件、MapReduce配置文件、在集群上分发配置好的
ssh文件夹下(~/.ssh)的文件功能解释、ssh连接时出现Host key verification failed的解决方法、免密登录原理、将公钥拷贝到要免密登录的目标机器上、NameNode和SecondaryNameNode不要安装在同一台服务器、ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上、Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值、.
384 1
Hadoop运行模式(二)、SSH无密登录配置、生成公钥和私钥、集群配置、集群部署规划、默认配置文件、核心配置文件、HDFS配置文件、YARN配置文件、MapReduce配置文件、在集群上分发配置好的
|
安全 Shell 网络安全
SSH批量分发实现
ssh批量管理项目如何在一秒钟完成
|
Shell 网络安全 数据安全/隐私保护
使用 ssh-agent,实现多台机器 ssh 免密码登陆
使用 ssh-agent,实现多台机器 ssh 免密码登陆
600 0
|
Web App开发 Shell 网络安全
基于SSH隧道+chrome插件SwitchyOmega访问内网机器
背景:客户的服务在线下IDC,访问服务器通过VPN连接到IDC,但VPN连接后只放行了特性端口比如80,服务器部署了grafana系统之后不想与现有的80共用一个端口。比如grafana应用监听除80之外的3000端口,在不通过客户邮件申请其他端口的情况下,是否有其他办法呢?本文基于SH隧道+chrome插件SwitchyOmega访问IDC的3000端口画了架构图便于理解,如下图所示正常访问路线A,但由于防火墙的限制无法访问除允许的端口,所以我们想通过阿里云的服务器做ssh隧道(阿里云与IDC机器通过专线连接,端口未做限制),也就是图中的线路B。
6877 0
|
网络安全
SSH通过SSH代理连接到内网机器
要解决的问题? 需要解决的问题:https://q.cnblogs.com/q/105319/ 简单来说就是本地机器通过一台公网机器SSH到公网机器后面的私网机器。 网络环境如下图:本地机器可访问代理机器,代理机器可访问内网机器,本地机器和内网机器不互通 操作步骤: 1.实现本地机器到代理机器的SSH连接。
1961 0