質問編集履歴

1

情報の追加

2021/03/22 07:21

投稿

lilac
lilac

スコア13

test CHANGED
File without changes
test CHANGED
@@ -10,11 +10,23 @@
10
10
 
11
11
  ・踏み台サーバへのssh接続には秘密鍵(以下、PKF1.pem)が必要。
12
12
 
13
- PKF1.pem はローカルPC上(Cドライブ直下)にある。
13
+  PKF1.pem はローカルPC上(Cドライブ直下)にある。
14
14
 
15
15
  ・APサーバへのssh接続には秘密鍵(以下、PKF2.pem)が必要。
16
16
 
17
- PKF2.pemは /home/user01/ 直下にある。
17
+  PKF2.pemは 踏み台サーバの /home/user01/ 直下にある。
18
+
19
+
20
+
21
+ ### やりたいこと
22
+
23
+ ローカルPCに置いてある秘密鍵(PKF1.pem)を用いて踏み台サーバへSSH接続
24
+
25
+
26
+
27
+ 踏み台サーバに置いてある秘密鍵(PKF2.pem)を用いてAPサーバへSSH接続
28
+
29
+
18
30
 
19
31
 
20
32
 
@@ -24,21 +36,29 @@
24
36
 
25
37
  var pkf1 = new PrivateKeyFile(@"C:\PKF1.pem", "");
26
38
 
27
- using (var bation = new SshClient("10.0.0.1", 22, "user01", pkf1 ))
39
+ using (var bastion = new SshClient("10.0.0.1", 22, "user01", pkf1 ))
28
40
 
29
41
  {
30
42
 
31
- bation.Connect();
43
+ bastion.Connect();
32
44
 
33
45
 
34
46
 
35
- //以下、APサーバへ接続するためにどうすればよいか分からない。
47
+ //APサーバに対するポートフォワード設定
36
48
 
37
- //(秘密鍵のPathはローカルを指していると考えるが、指定の仕方が分からない。)
49
+ var forwardAp = new ForwardedPortLocal("127.0.0.1", "10.0.1.1", 22);
38
50
 
39
- var pkf2 = new PrivateKeyFile(@"/home/user01/PKF2.pem", "");
51
+ bastion.AddForwardedPort(forwardAp);
40
52
 
53
+ forwardAp.Start();
54
+
55
+
56
+
57
+ //以下、APサーバへ接続するために秘密鍵をどのように指定すればいいか分からない。
58
+
59
+ var pkf2 = new PrivateKeyFile(@"/home/user01/PKF2.pem", "");//←これが違うと思われる。
60
+
41
- using (var ap = new SshClient("10.0.1.1", 22, "user01", pkf2))
61
+ using (var ap = new SshClient(forward.BoundHost, (int)forward.BoundPort, "user01", pkf2))
42
62
 
43
63
  {
44
64