SSH 透過跳板機連線目標機

Undefined443發表於2024-10-19

使用 SSH 配置跳板機(也稱為中間伺服器或堡壘機)可以透過 SSH 配置檔案(通常位於 ~/.ssh/config)來實現。這種配置允許你透過跳板機訪問目標伺服器,而不需要每次都手動輸入跳板機的命令。

以下是一個基本的 SSH 配置例子,展示如何透過跳板機連線到目標伺服器:

flowchart LR A[本地客戶端] --> B[跳板機(bastion)] B --> C[目標伺服器(target)]
# 跳板機配置
Host bastion
    HostName 跳板機的IP或域名
    User 跳板機的使用者名稱
    IdentityFile ~/.ssh/id_rsa  # 本地私鑰檔案路徑

# 目標伺服器配置,透過跳板機
Host target
    HostName 目標伺服器的IP或域名
    User 目標伺服器的使用者名稱
    ProxyJump bastion
    IdentityFile ~/.ssh/id_rsa  # 本地私鑰檔案路徑

配置解釋

  • Host bastion: 定義一個名為 bastion 的主機配置,用於連線跳板機。

    • HostName: 跳板機的 IP 地址或域名。
    • User: 連線到跳板機時使用的使用者名稱。
    • IdentityFile: 用於認證的私鑰檔案路徑。
  • Host target: 定義一個名為 target 的主機配置,用於連線目標伺服器。

    • HostName: 目標伺服器的 IP 地址或域名。
    • User: 連線到目標伺服器時使用的使用者名稱。
    • ProxyJump bastion: 指定透過 bastion 跳板機來連線目標伺服器。
    • IdentityFile: 用於認證的私鑰檔案路徑。

使用方法:

在配置完成後,你可以使用以下命令連線到目標伺服器:

ssh target

這樣,SSH 將自動透過 bastion 跳板機連線到 target 目標伺服器。

請確保:

  1. 你的本地機器上有訪問跳板機和目標伺服器所需的 SSH 私鑰。
  2. 跳板機允許 SSH 隧道或代理功能。
  3. 你對 .ssh/config 檔案的路徑和許可權正確配置,以確保 SSH 可以正確讀取配置。通常,該檔案的許可權應該設定為 600

相關文章