歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix資訊 >> 安裝Unix OpenSSH的知識

安裝Unix OpenSSH的知識

日期:2017/3/6 11:39:49   编辑:Unix資訊

利用各種 Unix 環境中可用的工具,今天就來學習使用Unix OpenSSH。您每天使用的標准網絡服務(如 FTP、Telnet、RCP 和遠程 Shell (rsh) 等)在封閉環境中運行良好,但使用這些服務在網絡上傳輸的信息是未加密的。任何人都可以在您的網絡或遠程計算機上使用包嗅探器查看交換的信息,有時甚至可以查看密碼信息。

而且,使用所有此類服務時,在登錄過程中用於自動登錄的選項會受到限制,並且通常依賴於將純文本密碼嵌入到命令行才能執行語句,從而使登錄過程變得更加不安全。

開發的安全 Shell (SSH) 協議可以排除這些限制。SSH 能夠為整個通信通道提供加密,其中包括登錄和密碼憑據交換,它與公鑰和私鑰一起使用可以為登錄提供自動化身份驗證。您還可以將 SSH 用作基礎傳輸協議。以這種方式使用 SSH 意味著在打開安全連接後,加密通道可以交換所有類型的信息,甚至 HTTP 和 SMTP 可以使用該方法來保證通信機制的安全。

Unix OpenSSH 是 SSH 1 和 SSH 2 協議的免費實現。它最初是作為 OpenBSD (Berkeley Software Distribution) 操作系統的一部分開發的,現在被發布為 Unix 或 Linux® 和類似操作系統的常規解決方案。

安裝Unix OpenSSH

OpenSSH 是免費軟件,可以從Unix OpenSSH 的主要網站下載(請參見參考資料)。可以使用多種系統(包括 Linux、HP-UX、AIX®、Solaris、Mac OS X 等)上的源代碼構建Unix OpenSSH 系統。通常可以找到所選平台和版本的預編譯二進制代碼。有些供應商甚至作為操作系統的一部分提供 OpenSSH 工具包。

要構建Unix OpenSSH,您需要以下內容:

C 編譯器(GNU C 編譯器 (gcc) 或類似編譯器)
Zlib – 壓縮庫
OpenSSL – 安全套接字層 (SSL) 安全庫
如果您需要使用缺省配置設置,請使用常規構建序列,如下面的清單 1 所示。

清單 1. 使用常規構建序列

  1. $ ./configure
  2. $ make
  3. $ make install

這會將二進制文件、庫文件和配置文件安裝到 /usr/local 目錄中,例如,二進制文件安裝到 /usr/local/bin,配置文件安裝到 /usr/local/etc。如果希望將各種工具集成到主環境中,那麼您可能需要指定設置基本目錄的 --prefix 選項和設置配置文件位置的 --sysconfdir 選項:$ ./configure --prefix=/usr --sysconfidir=/etc/ssh

您可能指定的一些其他常規選項包括:

--with-tcp-wrappers——如果您希望與 TCP 包裝安全系統集成在一起,則此選項是必需的。
--with-ssl-dir=DIR——此選項指定 OpenSSL 庫的位置。
--with-pid-dir=DIR——此選項指定 PID 文件的位置,該文件為 sshd 守護進程存儲進程 ID。
--with-xauth=DIR——此選項指定用於 X 身份驗證的 xauth 命令的位置。
完成配置後,使用 make 以正常方式構建。

構建和安裝過程完成後,您需要配置系統,先創建唯一標識系統的 SSH 密鑰,然後啟用客戶機和主機之間的安全通信。您可以運行: $ make host-key

或者,您可以在命令行上手動執行各個步驟。您需要創建三個密鑰(每個密鑰對應於一個主要加密算法:rsa1、rsa 和 dsa)。例如,清單 2 顯示了如何創建 rsa1 密鑰。

清單 2.Unix OpenSSH 創建 rsa1 密鑰

  1. $ ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
  2. Generating public/private rsa1 key pair.
  3. Enter passphrase (empty for no passphrase):
  4. Enter same passphrase again:
  5. Your identification has been saved in /etc/ssh//ssh_host_key.
  6. Your public key has been saved in /etc/ssh//ssh_host_key.pub.
  7. The key fingerprint is:
  8. 43:aa:58:3c:d8:30:de:43:af:66:2a:b2:8d:02:08:86 root@remotehost


系統提示您輸入密碼。對於主機密鑰,您可能不需要密鑰密碼,所以您可以按 Return 使用空密碼。或者,您可以在命令行上使用 -N 選項加速該過程(請參見清單 3)。

清單 3. 使用 -N 選項加速過程

  1. $ ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
  2. Generating public/private rsa1 key pair.
  3. Your identification has been saved in /etc/ssh/ssh_host_key.
  4. Your public key has been saved in /etc/ssh/ssh_host_key.pub.
  5. The key fingerprint is:
  6. a3:e3:21:4f:b5:9f:ff:05:46:66:bc:36:a1:47:a0:64 root@remotehost



現在重復該過程,以創建 rsa 和 dsa 密鑰(請參見清單 4)。

清單 4.Unix OpenSSH 創建 rsa 和 dsa 密鑰

  1. $ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
  2. $ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""


這將為每個密鑰類型創建兩個文件:公鑰(在以 .pub 結尾的文件中)和私鑰。您應確保私鑰僅由根和 SSH 流程讀取——這應自動配置。您可能需要將公鑰復制到網絡文件系統 (NFS) 共享中的中央位置,使人們能夠將其添加到已知主機密鑰列表中。

最後,您需要啟動 sshd 過程,並對其進行配置,以便在啟動時執行。對於 Linux 主機,您可以在 contrib/redhat/sshd.init 中找到合適的可以添加到 /etc/init.d 的 init 腳本。

這樣,Unix OpenSSH就安裝完畢了。希望大家好好的學習。

Copyright © Linux教程網 All Rights Reserved