SSH Push (トンネル使用)接続メソッド
SSH Push (トンネル使用) (ssh-push-tunnel)は、クライアントがSUSE Multi-Linux Managerサーバに直接アクセスできない環境で使用されます。
この環境では、クライアントはDMZと呼ばれるファイアウォール保護ゾーンに位置しています。
DMZ内のシステムは、SUSE Multi-Linux Managerサーバを含む内部ネットワークへの接続を確立することが許可されていません。
つまり、次のように表すことができます。SSH Push (トンネル使用)は、サーバからクライアントへのリバーストンネルだけでなく、クライアントからSUSE Multi-Linux Managerサーバへのリバーストンネルも作成します。
サーバは、SSHを使用して、定期的にクライアントに接続し、チェックインし、スケジュールされたアクションおよびイベントを実行します。
|
プロビジョニングモデルを使用したシステムの再インストールは、SSH Pushで管理されているクライアントでは現在サポートされていません。 |
|
トンネルは、暗号化されたトンネルを通じてサーバへのアクセスを提供するために使用されます。 SSH Pushクライアント(トンネル使用)に割り当てられたリポジトリは、このトンネルを通じてのみ提供されるため、トンネルが稼働している間のみリポジトリが利用可能です。そのため、クライアントシステムからパッケージ管理ツールを直接使用することはできません。 言い換えれば、セッションがサーバによって開始された場合にのみアクセスが可能です。 クライアント上のすべてのパッケージ管理操作は、サーバ側からのみ実行できます。 |
|
サーバコンテナ内でステップを実行する前に、`mgrctl term`を使用してください。 |
SSH経由でのトンネリング接続には、HTTPS経由でのトンネリング用にポート番号が必要です。 デフォルトで使用されるポート番号は`1233`です。 これを上書きするには、コンテナ内で1024より大きいカスタムポート番号を`/etc/rhn/rhn.conf`に追加できます。
ssh_push_port_https = high_port
この設定パラメータを変更した後、salt-secrets-config.service、tomcat.service、および`taskomatic.service`などのサービスを再起動する必要があります。
必要なすべてのサービスをカバーするためには、SUSE Multi-Linux Managerサーバをルートとして再起動するのが最善です。
コンテナの外部、コンテナホストから、次のように入力します:
mgradm restart
セキュリティ上の理由から、SSHでsudoを使用して、rootとしてではなく非特権ユーザとしてシステムにアクセスする必要がある場合があります。
-
それぞれのクライアントシステムで、適切な非特権ユーザを作成します。
-
各クライアントシステムで、`sudoers`ファイルを編集します。
sudo visudo
-
`sudo`ファイルの最後にこの行を追加して、ユーザーに`sudoers`アクセスを付与します。 `<user>`をWeb UIでクライアントを起動しているユーザーの名前に置き換えてください。
<user> ALL=NOPASSWD: /usr/bin/python3, /var/tmp/venv-salt-minion/bin/python
この手順では、クライアントを登録するために必要なパスワードなしでルートアクセスを付与します。 クライアントが正常にインストールされると、ルート権限で実行されるため、アクセスはもはや必要ありません。 クライアントが正常にインストールされた後、`sudoers`ファイルからその行を削除することをお勧めします。
-
SUSE Multi-Linux Managerサーバコンテナ内で、`/etc/rhn/rhn.conf`設定ファイルを編集し、次の行を追加または修正して、非特権ユーザー名を含めます。
ssh_push_sudo_user = <user>
この設定パラメータを変更した後、salt-secrets-config.service、tomcat.service、および`taskomatic.service`などのサービスを再起動する必要があります。
必要なすべてのサービスをカバーするためには、SUSE Multi-Linux Managerサーバをルートとして再起動するのが最善です。
コンテナの外部、コンテナホストから、次のように入力します:
mgradm restart
Web UIまたはAPIを使用して、これらのクライアントをSUSE Multi-Linux Managerサーバに登録する必要があります。
始める前に、SSHトンネリングに使用するポートを指定していることを確認する必要があります。 ポート番号を変更する前にクライアントを登録している場合は、再アクティベーションキーで再登録する必要があります。
-
起動に関する詳細は、ブートストラップスクリプトを使用してクライアントを登録するを参照してください。
-
起動に関する詳細は、client-configuration:activation-keys.adoc#activation-keys-reactivationを参照してください。
APIを使用して、使用する連絡手段を管理できます。 この例のPythonコードは、連絡手段を`ssh-push-tunnel`に設定します。
client = xmlrpclib.Server(MLM_HOST + "/rpc/api", verbose=0)
key = client.auth.login(MLM_LOGIN, MLM_PASSWORD)
client.system.setDetails(key, 1000012345, {'contact_method' : 'ssh-push-tunnel'})
有効な値は次のとおりです。
-
default(pull) -
ssh-push -
ssh-push-tunnel