memiah.autossh
AutoSSH
複数のautossh接続をインストールし、設定するためのAnsibleロールで、ローカルサーバーからリモートサーバーへのポートフォワーディングをSSH経由で可能にします。
要件
SSHユーザーが存在し、リモートサーバーにアクセスするための適切な権限を持っていることが前提です。また、対応するSSHキーがローカルサーバーに存在している必要があります(/root/.ssh/id_rsa
または接続設定ごとに定義)。
ロール変数
使用可能な変数は以下に示されており、デフォルト値も記載されています(defaults/main.yml
を参照):
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"
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
オプションを使用して、特定の接続のために上書きできます。
依存関係
なし。
例プレイブック
- hosts: servers
vars_files:
- vars/main.yml
roles:
- { role: memiah.autossh }
vars/main.yml
内:
autossh_connections:
- id: "example"
user: "username"
server: "remote.server"
local_port: "33061"
dest_port: "3306"
ローカルポート33061
をremote.server
のポート3306
にフォワードし、username@remote.server
としてSSHで接続します。
これにより、autossh-example.service
という新しいサービスが作成されます *(autossh-{id}.service)*。これはsystemctlで管理できます:
systemctl status autossh-example.service
systemctl restart autossh-example.service
...
ライセンス
MIT / BSD
著者情報
このロールは、2016年にMemiah Limitedによって作成されました。