踏み台サーバー経由のSSHログインは 認証エージェント転送を使おうという話

SSHで認証エージェント転送でのログイン実施

SSH公開鍵認証方式にて踏み台サーバ経由のSSHログインが必要な場合、秘密鍵をHost-A (踏み台サーバー) へ配置したくはありません。かといって Host-Aでわざわざ別途鍵を生成するようなこともしたくありません。

このような場合、認証エージェント転送を利用することで、踏み台サーバでローカルのエージェント情報(秘密鍵情報)を利用して認証することができます。下記へテストした内容を載せていきます。私は macOS の Terminal から実行しましたが、調べた限りではクライアントOSが Windows の場合に利用するSSHクライアント( TeraTerm や Rlogin ) にもエージェント転送機能はありそうでした。

ローカルで エージェントに秘密鍵を登録します。事前に Host-A、Host-B の authorized_keys に 公開鍵を登録しておきます。

ssh -A オプションで踏み台サーバへログインします。

ssh-add -l で鍵を確認するとローカルのエージェント情報が転送されています。この時、Host-A に秘密鍵は配置していません。

このエージェント情報をもって Host-B へログインすることができます。

Windows の OpenSSH

今後 Windows 10 (1809) と Windows Server 2019 には OpenSSH は公式にサポートされることになります。クライアント、サーバーサイドの両方に OpenSSH がインストールされていればSSH公開鍵認証方式でログインし PowerShell での操作が可能です。

OpenSSH in Windows | Microsoft Docs
Installation of OpenSSH For Windows | Microsoft Docs

試しにWindows OpenSSHからエージェント転送テストしましたが Windows から Linux へログインはできますがエージェント転送はできませんでした。Windows側のOpenSSHの署名アルゴリズムが古い為、拒否するようなのですがこれが FIX されるのは OpenSSH_for_Windows_7.9 のようです。( 現在 7.9 は beta )

実際に Windows 10 PowerShell から OpenSSH で CentOS へ接続したした様子

おわり。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*