主なファイルベースのSSHエージェント

主なファイルベースのSSHエージェント

さて、私はサーバーへの接続に使用されるIDファイルに基づいて、単一のパブリックIPアドレスと単一のポートから複数のサーバーまで、複数のSSHを処理する方法を探しています。 ~/.bashrcを使用してサーバーのプライベートIPへのSSH接続を実行することを検討しましたが、それが私が念頭に置いた唯一のものです。 SSH とプロキシを使用した検索は、順方向または逆方向のプロキシの問題で終わるため、関連情報を見つけることは困難です。

最良のシナリオ

user@publicip -i user1 --- proxy to [email protected]
user@publicip -i user2 --- proxy to [email protected]

~/.bashrc を使って作業を行うことができるようです。

user1@publicip -i user1 --- proxy to [email protected]
user2@publicip -i user2 --- proxy to [email protected]

ありがとうございます!

答え1

UnixとLinux StackExchangeへようこそ!

「シングルパブリックIPアドレスとパブリックIPアドレス」を意味すると仮定します。記入/目的地ポート」。

この場合、答えは常に指先にある可能性があるため、検索が行き過ぎた可能性があります。sshd(8) のマニュアルページの AUTHORIZED_KEYS ファイル形式の章私はそれがあなたが探しているツールを提供すると信じています。

~/.ssh/authorized_keysファイルでは、user@publicip通常のセッションではなく特定のキーを使用するたびに実行するコマンドを指定できます。だからあなたはこれを行うことができます:

command="ssh [email protected]",restrict,pty ssh-rsa <public key of user1>
command="ssh [email protected]",restrict,pty ssh-ed25519 <public key of user2>

このauthorized_keysファイルを持ってuser1の秘密鍵を使用して認証されると、すぐに実行されますuser@publicipsshdssh [email protected] ユーザーの通常のシェルの代わりに。 192.168.1.10へのSSH接続が終了すると、セッション全体が終了します。代わりに、user2の秘密鍵を使用すると、別々にリンクされます[email protected]

しかし、私の仮定が正確ではなく、実際にプロキシのアウトバウンドの側面を単一に制限したい場合ソースポート、TCPプロトコルのカスタム実装を作成し、それを実行するためにSSHバージョンを変更する必要がある小さな問題があります。

関連情報