yurihs.autossh
Ansibleロール: autossh
- autosshをインストールし、それを実行するシステムdサービスを設定して、SSHトンネルを常に開いた状態にします。
- ホストキーのスキャンを行い、ホストキーの確認プロンプトを回避します。
このロールは、ターゲットシステムをRedHatではなくDebianに変更するためにmemoiah/ansible-role-autosshからフォークされました。
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
...
著者
このロールは2016年にMemiah Limitedによって作成されました。
Debianへの適応は2019年にyurihsによって行われました。