0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macからlinuxサーバへsshポートフォワーディング経由で接続する方法

Last updated at Posted at 2024-12-09

目的

手元のMacから踏み台サーバを経由して、linuxサーバへ接続できるようにする。
sshで踏み台サーバにアクセスしてから、さらにlinuxサーバにssh接続することも出来るが、二重でsshをすると、scpなどで必要なファイルをコピーするのが不便になる。そこで1回のsshコマンドでlinuxサーバへアクセスできるようにポートフォワーディングを使うことにする。

前提

  • Linuxサーバの状態
    SSH サーバが有効であり、公開鍵が登録されている

  • windowsサーバの状態
    OpenSSHがインストールされていて、外部からSSH接続が可能

  • Macの状態
    192.168.100系のネットワークに接続していること

Network構成

image.png

Mac(192.168.100.90)から、Windows サーバ(192.168.100.140, 192.168.3.5)を経由して、別ネットワークにある Linux サーバ(192.168.3.4)に SSH 接続を確立し、ポートフォワーディングを使用して接続する。

踏み台PCの設定

1. Windowsサーバにsshサーバをインストールする

  • スタートメニュー → 設定 → アプリ → オプション機能
  • 「機能の追加」をクリックし、「OpenSSH サーバー」を検索
  • 「OpenSSH サーバー」を選択し、「インストール」をクリック
  • スタートメニュー → サービス (検索) → 「サービスアプリ」を開く
  • サービスリストから 「OpenSSH SSH Server」 を探してダブルクリック
  • スタートアップの種類を「自動」に設定し、「開始」をクリック

2. 踏み台PCに固定IPを振る

  • スタートメニュー → 設定 → ネットワークとインターネット
  • Wi-Fi or イーサーネットから編集するネットワークを選択
    デフォルトゲートウェイやDNSサーバは適宜設定する。
    Pasted Graphic 9.png
    192.168,100.1のコピー.png

3. Windows側のfirewallの設定でMac側で指定するポートに受信と送信が可能なように設定する

  • タスクバーの検索ボックスに「Windows セキュリティ」と入力して開く

  • 「ファイアウォールとネットワーク保護」をクリック

  • 「詳細設定」リンクをクリックすると、「Windows Defender ファイアウォールの詳細設定」ウィンドウが開く

  • 「受信の規則」をクリックし、受信ルールを作成

    新しい受信ルールを作成

    • 「受信の規則」を選択した状態で、右側の「新しい規則」をクリック
    • 「ポート」を選択して「次へ」をクリック
      Pasted Graphic 4.png

    ポートの指定

    • 「特定のローカルポート」を選択し、2222 と入力します。
    • 「次へ」をクリックします。
      Pasted Graphic 5.png

    アクションの設定

    • 「接続を許可する」を選択し、「次へ」をクリック

    プロファイルの選択

    • 適用するプロファイルを選択します(通常はすべて選択)。
    • 「次へ」をクリックします。

    ルールの名前を設定

    • ルールにわかりやすい名前を付けます(例: "SSH Forwarding Port 2222")。
    • 「完了」をクリックします。
    • 新しい規則がリストに表示され、「有効」になっていることを確認してください。
    • 同様に「送信の規則」で規則を追加して設定してください。

    Pasted Graphic 8.png

Mac側の設定

sshのconfigファイルを書き換える

Macのhomeディレクトリ配下の.ssh/のconfigファイルに下記の設定を追加する

owner@fujiitatsuyanoMacBook-Pro .ssh % cat config 
ServerAliveInterval 60
TCPKeepAlive yes

Host linux-server
    HostName 192.168.3.4
    User linux-user-name
    ForwardAgent yes
    ProxyJump proxy-server
    LocalForward 2222 192.168.3.4:22

Host proxy-server
    HostName 192.168.100.140
    User windows-user-name

windows-server: windowsサーバへの接続設定

ForwardAgent yes により、MacBook の ssh-agent に登録されている鍵を転送。
→ sshの認証がパスワードのみの認証の場合は不要

linux-server:

ProxyJump windows-server により、Windows サーバを経由。
LocalForward 2222 192.168.3.4:22 により、MacBook のローカルポート 2222 を Linux サーバのポート 22 に転送。

sshポートフォワーディング出来ているかを確認

今回は公開鍵認証もあるので、ssh agentを起動させて、秘密鍵を登録しておく

ssh agent
cp /Users/owner/Downloads/id_rsa ./.ssh/id_rsa
ssh-add --apple-use-keychain ./.ssh/id_rsa

192.168.3.4のホスト名(linux-server)でssh接続を試みる

ssh linux-server
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?