Man page - ssh(1)

Packages contains this manual

Available languages:

en fr pl tr uk ro zh_TW zh_CN de

Manual


SSH (1) General Commands Manual SSH (1)

NAME

ssh — OpenSSH SSH 客 戶 端 (遠 端 登 入 程 式 )

總 覽 (SYNOPSIS)

ssh [ -l login_name ] hostname | user@hostname [ command ]

ssh [ -afgknqstvxACNTX1246 ] [ -b bind_address ] [ -c cipher_spec ] [ -e escape_char ] [ -i identity_file ] [ -l login_name ] [ -m mac_spec ] [ -o option ] [ -p port ] [ -F configfile ] [

-L
port
: host : hostport ] [
-R

port
: host : hostport ] [ -D port ] hostname | user@hostname [ command ]

描 述 (DESCRIPTION)

ssh (SSH 客 戶 端 ) 用 於 登 入 遠 端 主 機 , 並 且 在 遠 端 主 機 上 執 行 命 令 . 它 的 目 的 是 替 換 rlogin 和 rsh, 同 時 在 不 安 全 的 網 路 之 上 , 兩 個 互 不 信 任 的 主 機 之 間 , 提 供 加 密 的 , 安 全 的 通 訊 連 線 . X11 連 線 和 任 意 TCP/IP 埠 均 可 以 透 過 此 安 全 通 道 轉 發 (forward).

當 用 戶 透 過 ssh 連 線 並 登 入 主 機 hostname 後 , 根 據 所 用 的 協 議 版 本 , 使 用 者 必 須 透 過 下 述 方 法 之 一 向 遠 端 主 機 證 明 他 /她 的 身 份 :

SSH 協 議 第 一 版

第 一 , 如 果 發 出 登 入 命 令 的 本 地 主 機 已 經 列 在 遠 端 主 機 的 /etc/hosts.equiv /etc/ssh/shosts.equiv 檔 案 中 , 並 且 兩 端 的 使 用 者 名 稱 相 同 , 則 立 即 允 許 該 使 用 者 登 入 . 第 二 , 如 果 遠 端 主 機 的 使 用 者 根 目 錄 (home 目 錄 ) 下 存 在 .rhosts .shosts , 並 且 其 中 有 一 行 包 含 了 客 戶 機 的 名 字 和 客 戶 機 上 的 使 用 者 名 稱 , 則 允 許 該 使 用 者 登 入 . 一 般 來 說 , 伺 服 器 不 允 許 單 獨 使 用 這 種 認 證 方 式 , 因 為 它 不 安 全 .

第 二 種 認 證 方 法 是 rhosts hosts.equiv 檔 案 結 合 基 於 RSA 的 主 機 認 證 . 這 意 味 著 如 果 $HOME/.rhosts , $HOME/.shosts , /etc/hosts.equiv , 或 /etc/ssh/shosts.equiv 允 許 登 入 , 並 且 如 果 伺 服 器 能 夠 驗 證 客 戶 的 主 機 金 鑰 (host key) (參 見 “檔 案 (FILE)” 節 的 /etc/ssh/ssh_known_hosts $HOME/.ssh/known_hosts ), 主 機 才 允 許 客 戶 登 入 . 這 個 認 證 方 法 關 閉 了 因 IP 欺 騙 , DNS 欺 騙 和 路 由 欺 騙 造 成 的 安 全 漏 洞 . [系 統 管 理 員 注 意 : 一 般 說 來 /etc/hosts.equiv , $HOME/.rhosts , 和 rlogin/rsh 協 議 的 本 質 是 不 可 靠 地 , 要 安 全 就 應 該 關 掉 它 們 .]

作 為 第 三 種 認 證 方 式 , ssh 支 援 基 於 RSA 的 認 證 . 這 種 方 案 依 託 於 公 開 金 鑰 演 算 法 : 密 碼 系 統 的 加 密 和 解 密 透 過 不 同 的 金 鑰 完 成 , 無 法 透 過 加 密 金 鑰 推 匯 出 解 密 金 鑰 . RSA 就 是 這 種 密 碼 系 統 . 每 個 使 用 者 建 立 一 對 公 開 /私 金 鑰 匙 用 於 認 證 . 伺 服 器 知 道 使 用 者 的 公 鑰 , 只 有 使 用 者 知 道 他 自 己 的 私 鑰 . $HOME/.ssh/authorized_keys 檔 案 列 出 允 許 登 入 的 (使 用 者 的 )公 鑰 . 當 用 戶 開 始 登 入 , ssh 程 式 告 訴 伺 服 器 它 準 備 使 用 哪 對 鑰 匙 (公 鑰 )做 認 證 . 伺 服 器 檢 查 這 隻 金 鑰 (公 鑰 )是 否 獲 得 許 可 , 如 果 許 可 , 伺 服 器 向 用 戶 (實 際 上 是 使 用 者 面 前 執 行 的 ssh 程 式 ) 發 出 測 試 , 用 使 用 者 的 公 鑰 加 密 一 個 隨 機 數 . 這 個 隨 機 數 只 能 用 正 確 的 私 鑰 解 密 . 隨 後 使 用 者 的 客 戶 程 式 用 私 鑰 解 出 測 試 數 字 , 即 可 證 明 他 /她 掌 握 私 鑰 , 而 又 無 需 (把 私 鑰 )暴 露 給 伺 服 器 .

ssh 能 夠 自 動 執 行 RSA 認 證 協 議 . 使 用 者 透 過 執 行 ssh-keygen (1) 建 立 他 /她 的 RSA 金 鑰 對 . 私 鑰 存 放 在 使 用 者 根 目 錄 下 的 $HOME/.ssh/identity 中 , 而 公 鑰 存 放 在 $HOME/.ssh/identity.pub 中 . 隨 後 , 使 用 者 應 該 把 identity.pub 複 製 到 遠 端 伺 服 器 中 , 作 為 $HOME/.ssh/authorized_keys 存 放 到 他 /她 的 使 用 者 根 目 錄 下 ( authorized_keys 對 應 傳 統 的 $HOME/.rhosts 檔 案 , 每 一 行 只 有 一 隻 金 鑰 , 儘 管 一 行 可 以 很 長 ). 使 用 者 無 須 密 碼 就 可 以 直 接 登 入 . RSA 認 證 遠 比 rhosts 認 證 安 全 .

RAS 認 證 最 便 捷 的 用 法 大 概 就 是 使 用 認 證 代 理 (authentication agent) 了 . 詳 見 ssh-agent (1) 手 冊 頁 .

如 果 這 些 認 證 方 式 都 失 敗 了 , ssh 就 提 示 使 用 者 輸 入 口 令 (password), 然 後 把 口 令 送 到 伺 服 器 做 驗 證 . 由 於 整 個 通 訊 過 程 是 加 密 的 , 因 此 別 人 不 可 能 透 過 偵 聽 網 路 獲 得 這 個 口 令 .

SSH 協 議 第 二 版

當 用 戶 以 協 議 第 二 版 連 線 時 , 類 似 的 認 證 方 法 一 樣 有 效 . 如 果 使 用 了 PreferredAuthentications 的 預 設 內 容 , 客 戶 端 首 先 試 著 用 基 於 主 機 的 認 證 方 法 進 行 連 線 ; 如 果 這 個 方 法 失 敗 了 就 用 公 開 金 鑰 方 法 作 認 證 ; 最 後 , 如 果 它 也 失 敗 了 , 就 進 入 鍵 盤 操 作 , 試 試 使 用 者 口 令 認 證 .

這 個 公 開 金 鑰 方 法 類 似 於 上 一 節 描 述 的 RAS 認 證 , 並 且 允 許 使 用 RAS 或 DSA 演 算 法 : 客 戶 端 用 他 的 私 鑰 ( $HOME/.ssh/id_dsa $HOME/.ssh/id_rsa ) 對 會 話 識 別 符 號 (session identifier)簽 名 , 然 後 把 結 果 送 到 伺 服 器 . 伺 服 器 檢 查 $HOME/.ssh/authorized_keys 中 是 否 有 匹 配 的 公 鑰 , 如 果 金 鑰 和 簽 名 都 正 確 , 訪 問 就 可 以 繼 續 進 行 . 會 話 識 別 符 號 來 自 共 享 的 Diffie-Hellman 值 , 只 有 客 戶 端 和 伺 服 器 端 才 知 道 這 個 值 .

如 果 公 鑰 認 證 失 敗 或 無 效 , 使 用 者 口 令 將 會 加 密 後 送 到 遠 端 主 機 來 證 明 使 用 者 的 身 份 .

另 外 , ssh 支 援 基 於 主 機 或 測 試 應 答 的 認 證 方 式 .

協 議 第 二 版 提 供 附 加 機 制 增 強 保 密 性 (資 料 流 用 3DES, Blowfish, CAST128 或 Arcfour 加 密 ) 和 完 整 性 (hmac-md5, hmac-sha1). 注 意 , 協 議 第 一 版 缺 少 強 有 力 的 機 制 確 保 連 線 的 完 整 性 .

登 入 會 話 和 遠 端 執 行

伺 服 器 接 受 使 用 者 身 份 後 , 伺 服 器 即 可 以 執 行 給 定 的 命 令 , 也 可 以 讓 使 用 者 登 入 並 給 他 一 個 正 常 的 shell. 所 有 和 遠 端 命 令 或 shell 的 通 訊 被 自 動 加 密 .

如 果 分 配 了 偽 終 端 (pseudo-terminal)(普 通 的 登 入 會 話 ), 使 用 者 可 以 使 用 後 面 將 提 到 的 escape 字 元 .

如 果 沒 有 分 配 偽 終 端 , 則 會 話 是 透 明 的 (transparent), 能 夠 可 靠 的 傳 送 二 進 位 制 資 料 . 大 多 數 系 統 上 , 即 使 分 配 了 終 端 , 把 escape 字 元 設 為 “none” 也 可 以 讓 會 話 透 明 .

當 遠 端 主 機 上 的 命 令 或 shell 退 出 時 , 會 話 即 結 束 , 並 關 閉 所 有 X11 和 TCP/IP 連 線 . 遠 端 程 式 的 返 回 碼 做 為 ssh 的 返 回 碼 返 回 .

Escape 字 元

如 果 啟 用 了 偽 終 端 , ssh 能 夠 透 過 escape 字 元 支 援 一 組 功 能 .

單 獨 的 波 浪 符 可 以 用 ˜˜ 送 出 去 , 只 要 後 面 不 跟 下 面 列 舉 的 字 元 , 也 可 以 把 它 直 接 送 出 去 . escape 字 元 必 須 接 在 換 行 (newline)後 面 , 這 樣 才 具 有 特 別 含 義 . 在 配 置 檔 案 中 可 以 用 EscapeChar 命 令 更 改 escape 字 元 , 在 命 令 列 上 可 以 用 -e 選 項 更 改 .

已 支 援 的 escape 命 令 (假 設 是 預 設 的 ‘˜’) 有 :

˜.

斷 開 連 線

˜ˆZ

把 ssh 送 到 後 臺

˜#

列 出 轉 發 的 連 線 (forwarded connection)

˜&

當 等 待 轉 發 的 連 線 /X11會 話 結 束 時 , ssh 在 後 臺 退 出 登 入

˜?

顯 示 escape 字 元 的 列 表

˜C

開 啟 命 令 列 (僅 用 於 -L -R 選 項 增 加 埠 轉 發 )

˜R

請 求 連 線 的 重 建 (rekeying) (僅 用 於 SSH協 議 第 二 版 , 且 對 方 支 援 )

X11 和 TCP 轉 發 (forwarding)

如 果 ForwardX11 變 數 設 為 “yes” (或 參 見 後 面 對 -X -x 選 項 的 描 述 ), 並 且 使 用 者 正 在 使 用 X11 (設 定 了 DISPLAY 環 境 變 數 ), 和 X11 顯 示 器 的 連 線 將 自 動 以 這 種 形 式 轉 發 到 遠 端 : 任 何 用 shell 或 命 令 啟 動 的 X11 程 式 將 穿 過 加 密 的 通 道 , 從 本 地 機 器 連 線 真 正 的 X 伺 服 器 . 使 用 者 不 應 該 手 動 設 定 DISPLAY. 可 以 在 命 令 列 上 , 也 可 以 在 配 置 檔 案 中 設 定 X11 連 線 的 轉 發 .

ssh 設 定 的 DISPLAY 值 將 指 向 伺 服 器 , 但 是 顯 示 器 號 大 於 零 . 這 很 自 然 , 因 為 ssh 在 伺 服 器 上 建 立 了 一 個 “proxy” X 伺 服 器 , 把 連 線 透 過 加 密 通 道 轉 發 出 去 .

ssh 將 自 動 在 伺 服 器 上 設 定 Xauthority 資 料 . 目 的 是 這 樣 的 : SSH 生 成 一 個 隨 機 的 授 權 cookie, 存 放 在 伺 服 器 的 Xauthority 中 . SSH 檢 查 並 確 保 轉 發 的 連 線 攜 帶 了 這 個 cookie, 開 啟 連 線 後 , 把 它 替 換 為 真 正 的 cookie. 真 正 的 認 證 cookie 絕 不 會 送 往 伺 服 器 (也 不 會 有 任 何 明 文 傳 送 的 cookie).

如 果 ForwardAgent 變 數 設 為 “yes” (或 參 見 後 面 對 -A -a 選 項 的 描 述 ), 並 且 使 用 者 正 在 使 用 認 證 代 理 (authentication agent), 則 和 代 理 的 連 線 將 自 動 轉 發 到 遠 端 主 機 .

既 可 以 在 命 令 列 上 , 也 可 以 在 配 置 檔 案 中 指 定 透 過 加 密 通 道 轉 發 的 任 何 TCP/IP 連 線 . TCP/IP 轉 向 的 應 用 有 , 比 如 說 , 和 電 子 錢 包 的 安 全 連 線 , 或 者 是 穿 過 防 火 牆 等 .

伺 服 器 認 證

ssh 自 動 維 護 並 檢 查 一 個 身 份 資 料 庫 , 它 包 含 所 有 (成 功 )來 訪 的 主 機 的 身 份 資 料 . 主 機 金 鑰 存 放 在 使 用 者 根 目 錄 下 的 $HOME/.ssh/known_hosts 檔 案 中 . 另 外 , SSH 自 動 檢 查 /etc/ssh/ssh_known_hosts 裡 面 已 知 的 主 機 . 任 何 新 主 機 將 被 自 動 新 增 到 使 用 者 檔 案 中 . 如 果 某 個 主 機 的 身 份 發 生 改 變 , ssh 就 會 發 出 警 告 , 並 且 關 閉 對 它 的 密 碼 認 證 , 以 防 止 特 洛 伊 木 馬 竊 取 使 用 者 密 碼 . 這 個 機 制 的 另 一 個 目 的 是 防 止 中 間 人 攻 擊 , 否 則 這 種 攻 擊 可 能 會 繞 過 加 密 系 統 . StrictHostKeyChecking 選 項 用 來 防 止 登 入 到 主 機 金 鑰 不 能 識 別 或 發 生 改 變 的 那 些 機 器 .

命 令 列 選 項 有 :

-a

禁 止 轉 發 認 證 代 理 的 連 線 .

-A

允 許 轉 發 認 證 代 理 的 連 線 . 可 以 在 配 置 檔 案 中 對 每 個 主 機 單 獨 設 定 這 個 引 數 .

代 理 轉 發 須 謹 慎 . 某 些 使 用 者 能 夠 在 遠 端 主 機 上 繞 過 檔 案 訪 問 許 可 權 (由 於 代 理 的 UNIX 域 socket), 他 們 可 以 透 過 轉 發 的 連 線 訪 問 本 地 代 理 . 攻 擊 者 不 可 能 從 代 理 獲 得 金 鑰 內 容 , 但 是 他 們 能 夠 操 作 這 些 金 鑰 , 利 用 載 入 到 代 理 上 的 身 份 資 訊 透 過 認 證 .

-b bind_address

在 擁 有 多 個 介 面 或 地 址 別 名 的 機 器 上 , 指 定 收 發 介 面 .

-c blowfish|3des|des

選 擇 加 密 會 話 的 密 碼 術 . 3des 是 預 設 演 算 法 . 3des (triple-des) 用 三 支 不 同 的 金 鑰 做 加 密 -解 密 -加 密 三 次 運 算 , 被 認 為 比 較 可 靠 . blowfish 是 一 種 快 速 的 分 組 加 密 術 (block cipher), 非 常 安 全 , 而 且 速 度 比 3des 快 的 多 . des 僅 支 援 ssh 客 戶 端 , 目 的 是 能 夠 和 老 式 的 不 支 援 3des 的 協 議 第 一 版 互 操 作 . 由 於 其 密 碼 演 算 法 上 的 弱 點 , 強 烈 建 議 避 免 使 用 .

-c cipher_spec

另 外 , 對 於 協 議 第 二 版 , 這 裡 可 以 指 定 一 組 用 逗 號 隔 開 , 按 優 先 順 序 排 列 的 密 碼 術 . 詳 見 Ciphers .

-e ch|ˆch|none

設 定 pty 會 話 的 escape 字 元 (預 設 字 元 : ‘˜’). escape 字 元 只 在 行 首 有 效 , escape 字 元 後 面 跟 一 個 點 (‘.’) 表 示 結 束 連 線 , 跟 一 個 control-Z 表 示 掛 起 連 線 (suspend), 跟 escape 字 元 自 己 表 示 輸 出 這 個 字 元 . 把 這 個 字 元 設 為 “none” 則 禁 止 escape 功 能 , 使 會 話 完 全 透 明 .

-f

要 求 ssh 在 執 行 命 令 前 退 至 後 臺 . 它 用 於 當 ssh 準 備 詢 問 口 令 或 密 語 , 但 是 使 用 者 希 望 它 在 後 臺 進 行 . 該 選 項 隱 含 了 -n 選 項 . 在 遠 端 機 器 上 啟 動 X11 程 式 的 推 薦 手 法 就 是 類 似 於 ssh -f host xterm 的 命 令 .

-g

允 許 遠 端 主 機 連 線 本 地 轉 發 的 埠 .

-i identity_file

指 定 一 個 RSA 或 DSA 認 證 所 需 的 身 份 (私 鑰 )檔 案 . 預 設 檔 案 是 協 議 第 一 版 的 $HOME/.ssh/identity 以 及 協 議 第 二 版 的 $HOME/.ssh/id_rsa $HOME/.ssh/id_dsa 檔 案 . 也 可 以 在 配 置 檔 案 中 對 每 個 主 機 單 獨 指 定 身 份 檔 案 . 可 以 同 時 使 用 多 個 -i 選 項 (也 可 以 在 配 置 檔 案 中 指 定 多 個 身 份 檔 案 ).

-I smartcard_device

指 定 智 慧 卡 (smartcard)裝 置 . 引 數 是 裝 置 檔 案 , ssh 能 夠 用 它 和 智 慧 卡 通 訊 , 智 慧 卡 里 面 儲 存 了 使 用 者 的 RSA 私 鑰 .

-k

禁 止 轉 發 Kerberos 門 票 和 AFS 令 牌 . 可 以 在 配 置 檔 案 中 對 每 個 主 機 單 獨 設 定 這 個 引 數 .

-l login_name

指 定 登 入 遠 端 主 機 的 使 用 者 . 可 以 在 配 置 檔 案 中 對 每 個 主 機 單 獨 設 定 這 個 引 數 .

-m mac_spec

另 外 , 對 於 協 議 第 二 版 , 這 裡 可 以 指 定 一 組 用 逗 號 隔 開 , 按 優 先 順 序 排 列 的 MAC(訊 息 驗 證 碼 )演 算 法 (message authentication code). 詳 情 以 MACs 為 關 鍵 字 查 詢 .

-n

把 stdin 重 定 向 到 /dev/null (實 際 上 防 止 從 stdin 讀 取 資 料 ). ssh 在 後 臺 執 行 時 一 定 會 用 到 這 個 選 項 . 它 的 常 用 技 巧 是 遠 端 執 行 X11 程 式 . 例 如 , ssh -n shadows.cs.hut.fi emacs & 將 會 在 shadows.cs.hut.fi 上 啟 動 emacs, 同 時 自 動 在 加 密 通 道 中 轉 發 X11 連 線 . ssh 在 後 臺 執 行 . (但 是 如 果 ssh 要 求 口 令 或 密 語 , 這 種 方 式 就 無 法 工 作 ; 參 見 -f 選 項 .)

-N

不 執 行 遠 端 命 令 . 用 於 轉 發 埠 . (僅 限 協 議 第 二 版 )

-o option

可 以 在 這 裡 給 出 某 些 選 項 , 格 式 和 配 置 檔 案 中 的 格 式 一 樣 . 它 用 來 設 定 那 些 沒 有 命 令 列 開 關 的 選 項 .

-p port

指 定 遠 端 主 機 的 埠 . 可 以 在 配 置 檔 案 中 對 每 個 主 機 單 獨 設 定 這 個 引 數 .

-q

安 靜 模 式 . 消 除 所 有 的 警 告 和 診 斷 資 訊 .

-s

請 求 遠 端 系 統 啟 用 一 個 子 系 統 . 子 系 統 是 SSH2 協 議 的 一 個 特 性 , 能 夠 協 助 其 他 應 用 程 式 (如 sftp)把 SSH用 做 安 全 通 路 . 子 系 統 透 過 遠 端 命 令 指 定 .

-t

強 制 分 配 偽 終 端 . 可 以 在 遠 端 機 器 上 執 行 任 何 全 螢 幕 (screen-based)程 式 , 所 以 非 常 有 用 , 例 如 選 單 服 務 . 並 聯 的 -t 選 項 強 制 分 配 終 端 , 即 使 ssh 沒 有 本 地 終 端 .

-T

禁 止 分 配 偽 終 端 .

-v

冗 詳 模 式 . 使 ssh 列 印 關 於 執 行 情 況 的 除 錯 資 訊 . 在 除 錯 連 線 , 認 證 和 配 置 問 題 時 非 常 有 用 . 並 聯 的 -v 選 項 能 夠 增 加 冗 詳 程 度 . 最 多 為 三 個 .

-x

禁 止 X11 轉 發 .

-X

允 許 X11 轉 發 . 可 以 在 配 置 檔 案 中 對 每 個 主 機 單 獨 設 定 這 個 引 數 .

應 該 謹 慎 使 用 X11 轉 發 . 如 果 使 用 者 在 遠 端 主 機 上 能 夠 繞 過 檔 案 訪 問 許 可 權 (根 據 使 用 者 的 X授 權 資 料 庫 ), 他 就 可 以 透 過 轉 發 的 連 線 訪 問 本 地 X11 顯 示 器 . 攻 擊 者 可 以 據 此 採 取 行 動 , 如 監 視 鍵 盤 輸 入 等 .

-C

要 求 進 行 資 料 壓 縮 (包 括 stdin, stdout, stderr 以 及 轉 發 X11 和 TCP/IP 連 線 的 資 料 ). 壓 縮 演 算 法 和 gzip (1) 的 一 樣 , 協 議 第 一 版 中 , 壓 縮 級 別 “level” 用 CompressionLevel 選 項 控 制 . 壓 縮 技 術 在 modem 線 路 或 其 他 慢 速 連 線 上 很 有 用 , 但 是 在 高 速 網 路 上 反 而 可 能 降 低 速 度 . 可 以 在 配 置 檔 案 中 對 每 個 主 機 單 獨 設 定 這 個 引 數 . 另 見 Compression 選 項 .

-F configfile

指 定 一 個 使 用 者 級 配 置 檔 案 . 如 果 在 命 令 列 上 指 定 了 配 置 檔 案 , 系 統 級 配 置 檔 案 ( /etc/ssh/ssh_config ) 將 被 忽 略 . 預 設 的 使 用 者 級 配 置 檔 案 是 $HOME/.ssh/config .

-L port:host:hostport

將 本 地 機 (客 戶 機 )的 某 個 埠 轉 發 到 遠 端 指 定 機 器 的 指 定 埠 . 工 作 原 理 是 這 樣 的 , 本 地 機 器 上 分 配 了 一 個 socket 偵 聽 port 埠 , 一 旦 這 個 埠 上 有 了 連 線 , 該 連 線 就 經 過 安 全 通 道 轉 發 出 去 , 同 時 遠 端 主 機 和 host hostport 埠 建 立 連 線 . 可 以 在 配 置 檔 案 中 指 定 埠 的 轉 發 . 只 有 root 才 能 轉 發 特 權 埠 . IPv6 地 址 用 另 一 種 格 式 說 明 : port/host/hostport

-R port:host:hostport

將 遠 端 主 機 (伺 服 器 )的 某 個 埠 轉 發 到 本 地 端 指 定 機 器 的 指 定 埠 . 工 作 原 理 是 這 樣 的 , 遠 端 主 機 上 分 配 了 一 個 socket 偵 聽 port 埠 , 一 旦 這 個 埠 上 有 了 連 線 , 該 連 線 就 經 過 安 全 通 道 轉 向 出 去 , 同 時 本 地 主 機 和 host hostport 埠 建 立 連 線 . 可 以 在 配 置 檔 案 中 指 定 埠 的 轉 發 . 只 有 用 root 登 入 遠 端 主 機 才 能 轉 發 特 權 埠 . IPv6 地 址 用 另 一 種 格 式 說 明 : port/host/hostport

-D port

指 定 一 個 本 地 機 器 “動 態 的 ” 應 用 程 式 埠 轉 發 . 工 作 原 理 是 這 樣 的 , 本 地 機 器 上 分 配 了 一 個 socket 偵 聽 port 埠 , 一 旦 這 個 埠 上 有 了 連 線 , 該 連 線 就 經 過 安 全 通 道 轉 發 出 去 , 根 據 應 用 程 式 的 協 議 可 以 判 斷 出 遠 端 主 機 將 和 哪 裡 連 線 . 目 前 支 援 SOCKS4 協 議 , ssh 將 充 當 SOCKS4 伺 服 器 . 只 有 root 才 能 轉 發 特 權 埠 . 可 以 在 配 置 檔 案 中 指 定 動 態 埠 的 轉 發 .

-1

強 制 ssh 只 使 用 協 議 第 一 版 .

-2

強 制 ssh 只 使 用 協 議 第 二 版 .

-4

強 制 ssh 只 使 用 IPv4 地 址 .

-6

強 制 ssh 只 使 用 IPv6 地 址 .

配 置 檔 案 (CONFIGURATION FILES)

ssh 可 以 從 使 用 者 級 配 置 檔 案 和 系 統 級 配 置 檔 案 中 獲 取 更 多 的 配 置 資 料 . 配 置 檔 案 的 格 式 及 其 內 容 參 見 ssh_config (5).

環 境 變 數 (ENVIRONMENT)

ssh 一 般 將 設 定 下 面 的 環 境 變 數 :

DISPLAY

環 境 變 數 DISPLAY 指 出 X11 伺 服 器 的 位 置 . ssh 自 動 設 定 這 個 變 數 , 變 數 指 向 “hostname:n” 格 式 的 資 料 , 其 中 hostname 指 出 執 行 shell 的 主 機 , 而 n 是 大 於 等 於 1 的 整 數 . ssh 根 據 這 個 資 料 , 用 安 全 通 路 轉 發 X11 連 線 . 使 用 者 一 般 不 需 要 主 動 設 定 DISPLAY 變 數 , 否 則 會 導 致 X11 連 線 不 安 全 (而 且 會 導 致 使 用 者 手 工 複 製 所 需 的 授 權 cookie).

HOME

設 定 為 使 用 者 根 目 錄 的 路 徑 .

LOGNAME

等 於 USER; 用 來 相 容 使 用 這 個 變 數 的 系 統 .

MAIL

設 定 為 使 用 者 郵 箱 的 路 徑 .

PATH

設 定 為 預 設 的 PATH, 如 同 編 譯 ssh 時 要 求 的 一 樣 .

SSH_ASKPASS

如 果 ssh 需 要 一 個 密 語 (passphrase), 只 要 它 是 終 端 上 啟 動 的 , 它 會 從 當 前 終 端 上 讀 取 . 如 果 ssh 沒 有 聯 接 終 端 , 但 是 設 定 了 DISPLAY 和 SSH_ASKPASS 變 數 , ssh 就 執 行 SSH_ASKPASS 指 定 的 程 式 , 開 啟 一 個 X11 視 窗 讀 取 密 語 . 當 從 .Xsession 或 類 似 的 script 中 呼 叫 ssh 時 , 這 個 功 能 特 別 有 用 . (注 意 , 某 些 機 器 上 可 能 需 要 將 輸 入 重 定 向 為 /dev/null 才 能 工 作 .)

SSH_AUTH_SOCK

標 識 某 個 UNIX 域 socket 的 路 徑 , 用 於 和 代 理 通 訊 .

SSH_CONNECTION

標 識 連 線 的 客 戶 端 和 伺 服 器 端 . 變 數 包 含 四 個 用 空 格 隔 開 的 欄 位 : 客 戶 端 IP地 址 , 客 戶 端 埠 號 , 伺 服 器 IP地 址 , 伺 服 器 埠 號 .

SSH_ORIGINAL_COMMAND

如 果 強 制 執 行 了 某 條 命 令 , 該 變 數 就 儲 存 了 最 初 的 命 令 列 . 可 以 用 它 獲 取 初 始 引 數 .

SSH_TTY

設 定 為 關 聯 當 前 shell 或 命 令 的 終 端 名 字 (裝 置 的 路 徑 ). 如 果 會 話 沒 有 終 端 , 就 不 設 定 這 個 變 數 .

TZ

如 果 啟 動 後 臺 程 序 (daemon)時 設 定 了 時 區 , 就 設 定 這 個 時 區 變 數 , 指 出 現 在 的 時 區 (就 是 說 , 後 臺 程 序 會 把 這 個 變 數 傳 給 新 建 連 線 ).

USER

設 定 為 登 入 的 使 用 者 名 稱 .

另 外 , 如 果 允 許 使 用 者 改 變 他 們 的 環 境 資 料 , 而 且 有 $HOME/.ssh/environment 這 個 檔 案 , ssh 將 讀 取 其 中 資 料 , 把 “VARNAME=value” 這 種 格 式 的 資 料 行 新 增 進 環 境 資 料 區 . 另 見 sshd_config (5) 的 PermitUserEnvironment 選 項 .

檔 案 (FILES)
$HOME/.ssh/known_hosts

主 機 金 鑰 的 記 錄 , 記 錄 有 使 用 者 登 入 上 來 , 但 是 沒 有 列 在 /etc/ssh/ssh_known_hosts 中 的 主 機 . 參 見 sshd (8).

$HOME/.ssh/identity, $HOME/.ssh/id_dsa, $HOME/.ssh/id_rsa

包 含 了 使 用 者 的 身 份 資 訊 . 它 們 分 別 是 協 議 第 一 版 的 RSA, 協 議 第 二 版 的 DSA, 協 議 第 二 版 的 RSA. 這 些 檔 案 存 有 敏 感 資 訊 , 只 應 由 該 使 用 者 讀 取 , 不 允 許 其 他 使 用 者 訪 問 (讀 /寫 /執 行 ). 注 意 , 如 果 一 個 私 鑰 檔 案 能 夠 讓 其 他 使 用 者 訪 問 , ssh 將 忽 略 這 個 檔 案 . 在 生 成 金 鑰 的 時 候 可 以 指 定 一 個 密 語 (passphrase), 用 這 個 密 語 和 3DES 加 密 檔 案 的 敏 感 部 分 .

$HOME/.ssh/identity.pub, $HOME/.ssh/id_dsa.pub, $HOME/.ssh/id_rsa.pub

包 含 認 證 用 的 公 鑰 (以 文 字 格 式 儲 存 的 身 份 檔 案 的 公 開 部 分 ). 如 果 使 用 者 希 望 用 協 議 第 一 版 的 RSA 認 證 登 入 這 些 機 器 , $HOME/.ssh/identity.pub 的 內 容 應 該 新 增 到 所 有 機 器 的 $HOME/.ssh/authorized_keys 中 . 如 果 使 用 者 希 望 用 協 議 第 二 版 的 DSA/RSA 認 證 登 入 這 些 機 器 , $HOME/.ssh/id_dsa.pub $HOME/.ssh/id_rsa.pub 的 內 容 應 該 新 增 到 所 有 機 器 的 $HOME/.ssh/authorized_keys 中 . 這 些 檔 案 沒 有 敏 感 資 料 , 可 以 (但 不 是 必 須 )讓 任 何 人 讀 取 . ssh 絕 不 會 自 動 訪 問 這 些 檔 案 , 它 們 也 不 是 不 可 或 缺 ; 只 是 為 了 使 用 者 方 便 才 提 供 這 些 檔 案 .

$HOME/.ssh/config

使 用 者 級 配 置 檔 案 . ssh_config (5) 描 述 了 檔 案 格 式 及 其 配 置 選 項 .

$HOME/.ssh/authorized_keys

存 放 RSA/DSA 公 鑰 , 使 用 者 透 過 它 登 入 機 器 . sshd (8) 手 冊 頁 描 述 了 這 個 檔 案 的 格 式 . 最 簡 單 的 檔 案 格 式 和 .pub 身 份 檔 案 一 樣 . 檔 案 內 容 並 非 高 度 敏 感 , 但 是 仍 然 建 議 僅 讓 此 檔 案 的 使 用 者 讀 寫 , 而 拒 絕 其 他 使 用 者 的 訪 問 .

/etc/ssh/ssh_known_hosts

已 知 的 主 機 金 鑰 的 系 統 級 列 表 . 系 統 管 理 員 應 該 準 備 好 這 個 檔 案 , 把 所 需 主 機 的 公 鑰 儲 存 在 檔 案 裡 面 . 這 個 檔 案 應 該 能 夠 全 域 性 讀 取 . 檔 案 中 一 行 一 支 公 鑰 , 格 式 是 (欄 位 用 空 格 隔 開 ): 系 統 名 字 , 公 鑰 , 可 選 的 註 釋 域 . 如 果 同 一 個 機 器 使 用 了 多 個 名 字 , 所 有 名 字 都 應 該 (用 逗 號 隔 開 )列 出 來 . 檔 案 格 式 在 sshd (8) 手 冊 頁 中 有 描 述 .

登 入 的 時 候 , sshd (8) 用 規 範 的 系 統 名 字 (名 字 伺 服 器 返 回 的 )確 認 客 戶 機 ; 其 他 名 字 也 需 要 , 因 為 校 驗 金 鑰 前 ssh 不 會 把 使 用 者 提 供 的 名 字 轉 換 為 規 範 名 字 , 防 止 能 夠 操 作 名 字 伺 服 器 的 人 欺 騙 主 機 認 證 .

/etc/ssh/ssh_config

系 統 級 配 置 檔 案 . ssh_config (5) 描 述 了 檔 案 格 式 和 配 置 選 項 .

/etc/ssh/ssh_host_key, /etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_rsa_key

這 三 個 檔 案 包 含 了 主 機 金 鑰 的 私 有 部 分 , 它 們 用 於 RhostsRSAAuthentication HostbasedAuthentication . 如 果 使 用 了 協 議 第 一 版 的 RhostsRSAAuthentication 方 法 , ssh 必 須 是 setuid root, 因 為 只 有 root 才 能 讀 取 主 機 金 鑰 . 而 對 於 協 議 第 二 版 的 HostbasedAuthentication 方 法 , ssh 使 用 ssh-keysign (8) 訪 問 主 機 金 鑰 . 這 樣 消 除 了 驗 證 身 份 時 對 ssh setuid root 的 要 求 . 預 設 情 況 下 ssh 不 是 setuid root.

$HOME/.rhosts

該 檔 案 用 於 .rhosts 認 證 , 裡 面 列 出 允 許 登 入 的 主 機 /使 用 者 對 . (注 意 rlogin 和 rsh 也 使 用 這 個 檔 案 , 導 致 這 個 檔 案 的 應 用 變 得 不 安 全 ) 檔 案 中 的 每 一 行 包 括 一 個 主 機 名 字 (用 名 字 伺 服 器 返 回 的 規 範 名 字 ), 和 主 機 上 的 使 用 者 名 稱 字 , 用 空 格 隔 開 . 某 些 機 器 上 , 如 果 使 用 者 根 目 錄 位 於 NFS 分 割 槽 , 這 個 檔 案 可 能 需 要 全 域 性 可 讀 , 因 為 sshd (8) 以 root 身 份 讀 它 . 此 外 , 該 檔 案 必 須 屬 於 這 個 使 用 者 , 其 他 人 不 允 許 持 有 寫 許 可 權 . 對 大 多 數 機 器 推 薦 的 訪 問 許 可 權 是 , 它 的 使 用 者 可 以 讀 寫 , 而 不 讓 其 他 人 訪 問 .

注 意 , 預 設 情 況 下 會 安 裝 sshd (8) , 因 此 在 允 許 . rhosts 認 證 前 , sshd (8) 要 求 成 功 進 行 了 RSA 主 機 驗 證 . 如 果 沒 有 /etc/ssh/ssh_known_hosts 檔 案 存 放 客 戶 的 主 機 金 鑰 , 金 鑰 可 以 存 放 在 $HOME/.ssh/known_hosts 中 . 最 簡 單 的 做 法 是 用 ssh 從 伺 服 器 回 連 客 戶 機 ; 這 樣 會 自 動 把 主 機 金 鑰 新 增 到 $HOME/.ssh/known_hosts .

$HOME/.shosts

這 個 檔 案 的 用 法 和 .rhosts 完 全 一 樣 . 它 的 目 的 是 允 許 ssh 做 rhosts 認 證 的 同 時 防 止 rlogin rsh (1) 登 入 .

/etc/hosts.equiv

.rhosts 認 證 使 用 這 個 檔 案 . 它 包 含 規 範 的 主 機 名 字 , 一 行 一 個 ( sshd (8) 手 冊 頁 描 述 了 完 整 的 格 式 ). 如 果 檔 案 中 發 現 了 客 戶 機 的 名 字 , 而 且 客 戶 機 和 伺 服 器 的 使 用 者 名 稱 相 同 , 則 自 動 允 許 登 入 . 另 外 , 一 般 情 況 下 要 求 RSA 主 機 認 證 成 功 . 這 個 檔 案 只 應 該 讓 root 可 寫 .

/etc/ssh/shosts.equiv

這 個 檔 案 的 用 法 和 /etc/hosts.equiv 完 全 一 樣 . 用 於 允 許 ssh 登 入 , 但 不 允 許 rsh/rlogin 的 時 候 .

/etc/ssh/sshrc

當 用 戶 登 入 後 , 執 行 shell (或 命 令 )前 , ssh 執 行 這 個 檔 案 中 的 命 令 . 詳 見 sshd (8) 手 冊 頁 .

$HOME/.ssh/rc

當 用 戶 登 入 後 , 執 行 shell (或 命 令 )前 , ssh 執 行 這 個 檔 案 中 的 命 令 . 詳 見 sshd (8) 手 冊 頁 .

$HOME/.ssh/environment

含 有 關 於 環 境 變 數 的 附 加 定 義 , 另 見 前 面 的 “ENVIRONMENT” 節 .

診 斷 (DIAGNOSTICS)

ssh 結 束 時 的 狀 態 碼 就 是 遠 端 命 令 結 束 時 的 返 回 碼 , 如 果 發 生 了 錯 誤 就 返 回 255.

作 者 (AUTHORS)

OpenSSH 源 自 最 初 Tatu Ylonen 發 表 的 自 由 ssh 1.2.12. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt 和 Dug Song 消 除 了 許 多 BUGS, 增 加 新 的 特 徵 , 從 而 建 立 了 OpenSSH. Markus Friedl 貢 獻 了 對 SSH 協 議 1.5版 和 2.0版 的 支 援 .

另 見 (SEE ALSO)

rsh (1), scp (1), sftp (1), ssh-add (1), ssh-agent (1), ssh-keygen (1), telnet (1), ssh_config (5), ssh-keysign (8), sshd (8)

T. Ylonen ,
T. Kivinen ,
M. Saarinen ,
T. Rinne , and
S. Lehtinen ,
SSH Protocol Architecture
,
draft-ietf-secsh-architecture-12.txt ,
January 2002 ,
work in progress material .

[中 文 版 維 護 人 ]

徐 明 <xuming@users.sourceforge.net>

[中 文 版 最 新 更 新 ]

2004/06/11 第 一 版

《 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 》

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh Debian September 25, 1999 SSH (1)