yurihs.autossh

Ansible角色:autossh

Ansible Galaxy Badge

  • 安装autossh和systemd服务,以保持SSH隧道打开。
  • 扫描主机密钥,以避免主机密钥检查提示。

此项目是从memiah/ansible-role-autossh分叉而来,修改目标系统为Debian,而不是RedHat。

我们假设SSH用户已存在,并且有正确的权限访问远程服务器。相应的SSH密钥也必须在本地服务器上可用。

角色变量(默认值)

autossh_connections:
  - id: "example" # 简单的唯一连接标识符(字符: "a-z,0-9,-")。
    user: "" # 用于连接远程服务器的用户名。
    server: "" # 远程服务器的IP / 主机名。
    server_key_type: "" # 远程服务器的密钥类型,默认值为autossh_default_server_key_type。(可选)
    local_port: "" # 本地转发的端口。
    dest_server: "" # 在远程服务器上使用的IP / 主机名,默认值为autossh_default_dest_server。(可选)
    dest_port: "" # 远程服务器上要连接的端口。
    identity_file: "" # SSH私钥的路径,默认值为autossh_default_ssh_key_path。(可选)

为每个连接添加一组SSH连接属性。可以在此处列出多个连接。

autossh_path: "/usr/bin/autossh"

autossh的路径。

autossh_ssh_dir: "/root/.ssh"

存储SSH配置的目录。

autossh_systemd_dir: "/etc/systemd/system/"

systemd系统目录的路径。

autossh_known_hosts_file: "{{ autossh_ssh_dir }}/known_hosts"

已知主机文件的路径。

autossh_default_server_key_type: "ecdsa"

远程服务器的默认密钥类型。通过在autossh_connections列表中使用server_key_type选项覆盖此值,以便进行单个连接。

autossh_default_dest_server: "127.0.0.1"

在远程服务器上使用的默认IP / 主机名,这通常是localhost / 127.0.0.1。通过在autossh_connections列表中使用dest_server选项覆盖此值,以便进行单个连接。

autossh_default_identity_file: "/root/.ssh/id_rsa"

读取用于公钥认证的身份(私钥)的文件路径。对于协议版本2,默认值为/root/.ssh/id_rsa。通过在autossh_connections列表中使用identity_file选项覆盖此值,以便进行单个连接。

示例

将本地端口33061转发到db.example.com上的端口3306,通过SSH以[email protected]身份连接。

- hosts: backup
  vars:
    autossh_connections:
      - id: mysql
        user: backup
        server: db.example.com
        local_port: '33061'
        dest_port: '3306'
  roles:
    - role: yurihs.autossh
      become: true

这将创建一个名为autossh-backup.service的新服务,可以通过systemctl进行管理:

systemctl status autossh-backup.service
systemctl restart autossh-backup.service
...

作者

该角色由Memiah Limited于2016年创建。

yurihs在2019年进行了Debian适配。

关于项目

Ansible role for configuring multiple autossh connections

安装
ansible-galaxy install yurihs.autossh
许可证
mit
下载
3.2k
拥有者