多段SSH接続の方法で困っております。
前提
・AWS上に、踏み台サーバ(10.0.0.1)と、踏み台サーバから接続できるAPサーバ(10.0.1.1)がある。
・踏み台サーバおよびAPサーバへのログインユーザ名はuser01とする。
・踏み台サーバへのssh接続には秘密鍵(以下、PKF1.pem)が必要。
PKF1.pem はローカルPC上(Cドライブ直下)にある。
・APサーバへのssh接続には秘密鍵(以下、PKF2.pem)が必要。
PKF2.pemは 踏み台サーバの /home/user01/ 直下にある。
やりたいこと
ローカルPCに置いてある秘密鍵(PKF1.pem)を用いて踏み台サーバへSSH接続
↓
踏み台サーバに置いてある秘密鍵(PKF2.pem)を用いてAPサーバへSSH接続
ソースコード
C#
1var pkf1 = new PrivateKeyFile(@"C:\PKF1.pem", ""); 2using (var bastion = new SshClient("10.0.0.1", 22, "user01", pkf1 )) 3{ 4 bastion.Connect(); 5 6 //APサーバに対するポートフォワード設定 7 var forwardAp = new ForwardedPortLocal("127.0.0.1", "10.0.1.1", 22); 8 bastion.AddForwardedPort(forwardAp); 9 forwardAp.Start(); 10 11 //以下、APサーバへ接続するために秘密鍵をどのように指定すればいいか分からない。 12 var pkf2 = new PrivateKeyFile(@"/home/user01/PKF2.pem", "");//←これが違うと思われる。 13 using (var ap = new SshClient(forward.BoundHost, (int)forward.BoundPort, "user01", pkf2)) 14 { 15 ap.Connect(); 16 } 17}
ご教授願います。