使用 OpenSSH 為運行遠程終端提供安全環(huán)境。OpenSSH 和終端的基本用法非常簡單,不過,本文還將介紹允許自動登錄到遠程主機的其他元素、運行遠程應(yīng)用程序的方法,以及如何在主機之間安全地復(fù)制文件。
關(guān)于本系列
典型的 UNIX® 管理員擁有一套經(jīng)常用于輔助管理過程的關(guān)鍵實用工具、訣竅和系統(tǒng)。存在各種用于簡化不同過程的關(guān)鍵實用工具、命令行鏈和腳本。其中一些工具來自于操作系統(tǒng),而大部分的訣竅則來源于長期的經(jīng)驗積累和減輕系統(tǒng)管理員工作壓力的要求。本系列文章主要專注于最大限度地利用各種 UNIX 環(huán)境中可用的工具,包括簡化異構(gòu)環(huán)境中的管理任務(wù)的方法。
為何使用 OpenSSH?
您每天使用的標準網(wǎng)絡(luò)服務(wù)(如 FTP、Telnet、RCP 和遠程 Shell (rsh) 等)在封閉環(huán)境中運行良好,但使用這些服務(wù)在網(wǎng)絡(luò)上傳輸?shù)男畔⑹俏醇用艿。任何人都可以在您的網(wǎng)絡(luò)或遠程計算機上使用包嗅探器查看交換的信息,有時甚至可以查看密碼信息。
而且,使用所有此類服務(wù)時,在登錄過程中用于自動登錄的選項會受到限制,并且通常依賴于將純文本密碼嵌入到命令行才能執(zhí)行語句,從而使登錄過程變得更加不安全。
開發(fā)的安全 Shell (SSH) 協(xié)議可以排除這些限制。SSH 能夠為整個通信通道提供加密,其中包括登錄和密碼憑據(jù)交換,它與公鑰和私鑰一起使用可以為登錄提供自動化身份驗證。您還可以將 SSH 用作基礎(chǔ)傳輸協(xié)議。以這種方式使用 SSH 意味著在打開安全連接后,加密通道可以交換所有類型的信息,甚至 HTTP 和 SMTP 可以使用該方法來保證通信機制的安全。
OpenSSH 是 SSH 1 和 SSH 2 協(xié)議的免費實現(xiàn)。它最初是作為 OpenBSD (Berkeley Software Distribution) 操作系統(tǒng)的一部分開發(fā)的,現(xiàn)在被發(fā)布為 UNIX 或 Linux® 和類似操作系統(tǒng)的常規(guī)解決方案。
安裝 OpenSSH
OpenSSH 是免費軟件,可以從 OpenSSH 的主要網(wǎng)站下載(請參見參考資料)?梢允褂枚喾N系統(tǒng)(包括 Linux、HP-UX、AIX®、Solaris、Mac OS X 等)上的源代碼構(gòu)建 OpenSSH 系統(tǒng)。通?梢哉业剿x平臺和版本的預(yù)編譯二進制代碼。有些供應(yīng)商甚至作為操作系統(tǒng)的一部分提供 OpenSSH 工具包。
要構(gòu)建OpenSSH,您需要以下內(nèi)容:
C 編譯器(GNU C 編譯器 (gcc) 或類似編譯器)
Zlib – 壓縮庫
OpenSSL – 安全套接字層 (SSL) 安全庫
如果您需要使用缺省配置設(shè)置,請使用常規(guī)構(gòu)建序列,如下面的清單 1 所示。
清單 1. 使用常規(guī)構(gòu)建序列
$ ./configure
$ make
$ make install
這會將二進制文件、庫文件和配置文件安裝到 /usr/local 目錄中,例如,二進制文件安裝到 /usr/local/bin,配置文件安裝到 /usr/local/etc。如果希望將各種工具集成到主環(huán)境中,那么您可能需要指定設(shè)置基本目錄的 --prefix 選項和設(shè)置配置文件位置的 --sysconfdir 選項:
$ ./configure --prefix=/usr --sysconfidir=/etc/ssh
您可能指定的一些其他常規(guī)選項包括:
--with-tcp-wrappers——如果您希望與 TCP 包裝安全系統(tǒng)集成在一起,則此選項是必需的。
--with-ssl-dir=DIR——此選項指定 OpenSSL 庫的位置。
--with-pid-dir=DIR——此選項指定 PID 文件的位置,該文件為 sshd 守護進程存儲進程 ID。
--with-xauth=DIR——此選項指定用于 X 身份驗證的 xauth 命令的位置。
完成配置后,使用 make 以正常方式構(gòu)建。
構(gòu)建和安裝過程完成后,您需要配置系統(tǒng),先創(chuàng)建唯一標識系統(tǒng)的 SSH 密鑰,然后啟用客戶機和主機之間的安全通信。您可以運行:
$ make host-key
或者,您可以在命令行上手動執(zhí)行各個步驟。您需要創(chuàng)建三個密鑰(每個密鑰對應(yīng)于一個主要加密算法:rsa1、rsa 和 dsa)。例如,清單 2 顯示了如何創(chuàng)建 rsa1 密鑰。
清單 2. 創(chuàng)建 rsa1 密鑰
$ ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key
Generating public/private rsa1 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /etc/ssh//ssh_host_key.
Your public key has been saved in /etc/ssh//ssh_host_key.pub.
The key fingerprint is:
43:aa:58:3c:d8:30:de:43:af:66:2a:b2:8d:02:08:86 root@remotehost
系統(tǒng)提示您輸入密碼。對于主機密鑰,您可能不需要密鑰密碼,所以您可以按 Return 使用空密碼。或者,您可以在命令行上使用 -N 選項加速該過程(請參見清單 3)。
清單 3. 使用 -N 選項加速過程
$ ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
a3:e3:21:4f:b5:9f:ff:05:46:66:bc:36:a1:47:a0:64 root@remotehost
現(xiàn)在重復(fù)該過程,以創(chuàng)建 rsa 和 dsa 密鑰(請參見清單 4)。
清單 4. 創(chuàng)建 rsa 和 dsa 密鑰
$ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
$ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""
這將為每個密鑰類型創(chuàng)建兩個文件:公鑰(在以 .pub 結(jié)尾的文件中)和私鑰。您應(yīng)確保私鑰僅由根和 SSH 流程讀取——這應(yīng)自動配置。您可能需要將公鑰復(fù)制到網(wǎng)絡(luò)文件系統(tǒng) (NFS) 共享中的中央位置,使人們能夠?qū)⑵涮砑拥揭阎鳈C密鑰列表中。
本文出自:億恩科技【www.allwellnessguide.com】
服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|