Windows ホスト OS、Vagrant Ubuntu ゲスト OS、Keepass/Keeagent を使用したエージェント転送を使用した SSH

Windows ホスト OS、Vagrant Ubuntu ゲスト OS、Keepass/Keeagent を使用したエージェント転送を使用した SSH

意図: あらゆる開発環境からデプロイできるようにしますlan-example.com。仮想 OS から直接デプロイすることも、単一の OS システムからデプロイすることも、Keepass に保存されている 1 つの SSH キーを使用してインターネット経由でデプロイすることもできます。現在、Vagrant の OS 内からこれを行うには、明示的に独自のキーを生成し、各デプロイ サーバーで認証する必要があります。必要な操作を実行するには、ユーザー エージェント転送を使用する方法があると思いますが、どうでしょうか?


ホストOS

  • Windows 7 x64
  • puttygen によって生成された SSH キー:C:\Users\Administrator\.ssh\id_rsa.ppk
  • Keeagent で SSH キーを保存している Keepass。Keeagent は「エージェント」モードに設定されています。
  • pageant.exe はインストールされていますが、実行されていません
  • 自分のキーを使用して外部/内部 LAN サーバーに接続したい場合、Putty は Keeagent に従います。Putty は設定内に秘密キーの場所を保存しません。

C:\Users\Administrator.ssh\config

Host 192.168.55.2
  ForwardAgent yes

ヴァグラントファイル

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network :private_network, ip: '192.168.55.2'
  config.ssh.forward_agent = true
  # Why would I need to set this if Keeagent is handling things?
  config.ssh.private_key_path = '~/.ssh/id_rsa_jake_mitchell.ppk'
end

ゲストOS (Vagrant)

  • Ubuntu x64
  • 192.168.55.2、ホスト経由でのみアクセス可能
  • SSHキーは存在しません/home/vagrant/.ssh(削除しました)。ホストOS(Keeagent)を介したユーザーエージェント転送でキーの使用を処理できるようにするためです。

LAN Web ホスト (イントラネット Web サイト)

  • そのドメインはlan-example.com
  • id_rsa.ppk公開鍵のみを使用してSSHパスワードレスログインを許可します
  • 192.168.0.2
  • sshdでユーザーエージェント転送が有効になっています

問題:

lan-example.com機能するもの (ホスト OS を使用): Putty、 SSH キーを明示的に参照する必要なく接続します。

機能しないもの (ゲスト OS を使用):使用できるキーがないことが示されるため。ssh -v [email protected]

私はあることに気づいたKeeagent のベータ版SSH_AUTH_SOCK を設定できます。設定し、ゲスト OS がファイルを読み取れる NFS 共有を設定しましたが、何も変わりません。このような環境でエージェント転送はどのように機能するのでしょうか? Windows の何が異なり、これが失敗するのでしょうか?

答え1

エージェント転送を有効にして、ホスト OS から SSH 接続する必要があります (Windows では PuTTY を使用)。次に、そのセッションから、ゲスト OS からサーバーに SSH 接続します。

PuTTYエージェント転送設定

関連情報