必威电竞|足球世界杯竞猜平台

Secure Shell
來源:互聯(lián)網(wǎng)

SSH(Secure Shell)是一種通用的、功能強大的、基于軟件的網(wǎng)絡(luò)安全解決方案。計算機每次向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)時,SSH都會自動對其進(jìn)行加密。數(shù)據(jù)到達(dá)目的地時,SSH自動對加密數(shù)據(jù)進(jìn)行解密。整個過程都是透明的,使用OpenSSH工具將會增進(jìn)你的系統(tǒng)安全性。談到網(wǎng)絡(luò)安全訪問,相信大家首先想到的就是安全Shell,也就是Secure Shell,通常簡寫為SSH。這是因為SSH安裝容易、使用簡單,而且比較常見,一般的Unix系統(tǒng)、Linux、FreeBSD系統(tǒng)都附帶有支持SSH的應(yīng)用程序包。

什么是Secure?

SSH為Secure Shell的縮寫,由IETF的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。

傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序,如斷點續(xù)傳、POP和Telnet其本質(zhì)上都是不安全的;因為它們在網(wǎng)絡(luò)上用明文傳送數(shù)據(jù)、用戶帳號和用戶口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。就是存在另一個人或者一臺機器冒充真正的服務(wù)器接收用戶傳給服務(wù)器的數(shù)據(jù),然后再冒充用戶把數(shù)據(jù)傳給真正的服務(wù)器。

而SSH是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。通過 SSH可以對所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,也能夠防止DNS欺騙和IP欺騙。

SSH之另一項優(yōu)點為其傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣取SH有很多功能,它既可以代替Telnet,又可以為FTP、POP、甚至為PPP提供一個安全的“通道”。

什么是SSH ?

傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序,如斷點續(xù)傳、Pop和Telnet在傳輸機制和實現(xiàn)原理上是沒有考慮安全機制的,其本質(zhì)上都是不安全的;因為它們在網(wǎng)絡(luò)上用明文傳送數(shù)據(jù)、用戶帳號和用戶口令,別有用心的人通過竊聽等網(wǎng)絡(luò)攻擊手段非常容易地就可以截獲這些數(shù)據(jù)、用戶帳號和用戶口令。而且,這些網(wǎng)絡(luò)服務(wù)程序的簡單安全驗證方式也有其弱點,那就是很容易受到"中間人"(man-in-the-middle)這種攻擊方式的攻擊。所謂"中間人"的攻擊方式,就是"中間人"冒充真正的服務(wù)器接收你的傳給服務(wù)器的數(shù)據(jù),然后再冒充你把數(shù)據(jù)傳給真正的服務(wù)器。服務(wù)器和你之間的數(shù)據(jù)傳送被"中間人"一轉(zhuǎn)手做了手腳之后,就會出現(xiàn)很嚴(yán)重的問題。

SSH是英文Secure Shell的簡寫形式。通過使用SSH,你可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣"中間人"這種攻擊方式就不可能實現(xiàn)了,而且也能夠防止DNS欺騙和IP欺騙。使用SSH,還有一個額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣取SH有很多功能,它既可以代替Telnet,又可以為FTP、Pop、甚至為PPP提供一個安全的"通道"。

最初的SSH是由芬蘭的一家公司開發(fā)的。但是因為受版權(quán)和加密算法的限制,現(xiàn)在很多人都轉(zhuǎn)而使用OpenSSH。OpenSSH是SSH的替代軟件包,而且是免費的,可以預(yù)計將來會有越來越多的人使用它而不是SSH。

最后,SSH在運行方式上也很有特色。不像其他的TCP/IP應(yīng)用,SSH被設(shè)計為工作于自己的基礎(chǔ)之上,而不是利用包裝(wrappers)或通過Internet守護(hù)進(jìn)程inetd。但是許多人想通過TCP包裝來運行SSH守護(hù)進(jìn)程。雖然你可以通過tcpd(從inetd上運行啟動)來運行SSH進(jìn)程,但這完全沒有必要。

SSH協(xié)議的內(nèi)容

SSH協(xié)議是建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議,它主要由以下三部分組成,共同實現(xiàn)SSH的安全保密機制。

傳輸層協(xié)議,它提供諸如服務(wù)器認(rèn)證、信任和完整性檢驗等安全措施,此外它還可以任意地提供數(shù)據(jù)壓縮功能。通常情況下,這些傳輸層協(xié)議都建立在面向連接的TCP數(shù)據(jù)流之上。

用戶認(rèn)證協(xié)議 [SSH-USERAUTH],用來實現(xiàn)服務(wù)器的跟客戶端用戶之間的身份認(rèn)證。它運行在傳輸層協(xié)議SSH-TRANS之上。當(dāng)SSH-USERAUTH 開始后,它從低層協(xié)議那里接收會話標(biāo)識符(從第一次密鑰交換中的交換哈希H )。會話標(biāo)識符唯一標(biāo)識此會話并且適用于標(biāo)記以證明私鑰的所有權(quán)。SSH-USERAUTH 也需要知道低層協(xié)議是否提供保密性保護(hù)。

連接協(xié)議 [SSH-CONNECT],將多個加密隧道分成邏輯通道,它運行在用戶認(rèn)證協(xié)議上。

當(dāng)安全的傳輸層連接建立之后,客戶端將發(fā)送一個服務(wù)請求。當(dāng)用戶認(rèn)證層連接建立之后將發(fā)送第二個服務(wù)請求。這就允許新定義的協(xié)議可以和以前的協(xié)議共存。連接協(xié)議提供可用作多種目的通道,為設(shè)置安全交互Shell會話、遠(yuǎn)程命令執(zhí)行和傳輸任意的TCP/IP端口和X11連接提供標(biāo)準(zhǔn)方法。

SSH的安全驗證

從客戶端來看,SSH提供兩種級別的安全驗證。

第一種級別(基于口令的安全驗證),只要你知道自己的帳號和口令,就可以登錄到遠(yuǎn)程主機,并且所有傳輸?shù)臄?shù)據(jù)都會被加密。但是,這種驗證方式不能保證你正在連接的服務(wù)器就是你想連接的服務(wù)器。可能會有別的服務(wù)器在冒充真正的服務(wù)器,也就是受到"中間人"這種攻擊方式的攻擊。

第二種級別(基于密匙的安全驗證),需要依靠密匙,也就是你必須為自己創(chuàng)建一對密匙,并把公有密匙放在需要訪問的服務(wù)器上。如果你要連接到SSH服務(wù)器上,客戶端軟件就會向服務(wù)器發(fā)出請求,請求用你的密匙進(jìn)行安全驗證。服務(wù)器收到請求之后,先在該服務(wù)器上你的主目錄下尋找你的公有密匙,然后把它和你發(fā)送過來的公有密匙進(jìn)行比較。如果兩個密匙一致,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件。客戶端軟件收到"質(zhì)詢"之后就可以用你的私人密匙解密再把它發(fā)送給服務(wù)器。

與第一種級別相比,第二種級別不需要在網(wǎng)絡(luò)上傳送用戶口令。另外,第二種級別不僅加密所有傳送的數(shù)據(jù),而且"中間人"這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。

SSH的應(yīng)用

首先,SSH最常見的應(yīng)用就是,用它來取代傳統(tǒng)的Telnet、FTP等網(wǎng)絡(luò)應(yīng)用程序,通過SSH登錄到遠(yuǎn)方機器執(zhí)行你想進(jìn)行的工作與命令。在不安全的網(wǎng)路通訊環(huán)境中,它提供了很強的驗證(authentication)機制與非常安全的通訊環(huán)境。實際上,SSH開發(fā)者的原意是設(shè)計它來取代原unix系統(tǒng)上的rcp、rlogin、rsh等指令程序的;但經(jīng)過適當(dāng)包裝后,發(fā)現(xiàn)它在功能上完全可以取代傳統(tǒng)的Telnet、斷點續(xù)傳等應(yīng)用程序。

傳統(tǒng) BSD 風(fēng)格的 r 系列指令(如 rcp,rsh,rlogin)往往都被視為不安全的,很容易就被各種網(wǎng)絡(luò)攻擊手段所破解,幾乎所有找得到有關(guān)UNIX安全的書或文件,都會一而再、再而三地警告系統(tǒng)管理者,留心r系列指令的設(shè)定,甚至要求系統(tǒng)管理者將r系列指令通通關(guān)閉。

而用來替代r系列指令的SSH,則在安全方面做了極大的強化,不但對通訊內(nèi)容可以進(jìn)行極為安全的加密保護(hù),同時也強化了對身份驗證的安全機制,它應(yīng)用了在密碼學(xué)(Cryptography)中已發(fā)展出來的數(shù)種安全加密機制,如 Symmetric Key Cryptography,Asymmetric Key Cryptography, One-way Hash Function,Random-number Generation等,來加強對于身份驗證與通訊內(nèi)容的安全保護(hù)。通訊時資料的加密有IntelliJ IDEA,three-key triple DES,DES,RC4-128,TSS,Blowfish 等數(shù)種多種安全加密算法可供選擇,加密的key則是通過 RSA 進(jìn)行交換的。資料的加密可以對抗IP spoofing,RSA這種非對稱性的加密機制則可用來對抗DNS spoofing與IP routing spoofing,同時RSA也可以進(jìn)行對主機身份的驗證。

其次,通過使用用SSH可以在本地主機和遠(yuǎn)程服務(wù)器之間設(shè)置"加密通道",并且這樣設(shè)置的"加密通道"可以跟常見的Pop應(yīng)用程序、X應(yīng)用程序、Linuxconf應(yīng)用程序相結(jié)合,提供安全保障。

SSH的"加密通道"是通過"端口轉(zhuǎn)發(fā)"來實現(xiàn)的。你可以在本地端口(沒有用到的)和在遠(yuǎn)程服務(wù)器上運行的某個服務(wù)的端口之間建立"加密通道"。然后只要連接到本地端口。所有對本地端口的請求都被SSH加密并且轉(zhuǎn)發(fā)到遠(yuǎn)程服務(wù)器的端口。當(dāng)然只有遠(yuǎn)程服務(wù)器上運行SSH服務(wù)器軟件的時候"加密通道"才能工作。

OpenSSH

OpenSSH 是 SSH (Secure SHell)協(xié)議的免費開源實現(xiàn)。它用安全、加密的網(wǎng)絡(luò)連接工具代替了 telnet、ftp、 rlogin、rsh 和 rcp 工具。OpenSSH 支持 SSH 協(xié)議的版本 1.3、1.5、和 2。自從 OpenSSH 的版本 2.9 以來,默認(rèn)的協(xié)議是版本 2,該協(xié)議默認(rèn)使用 RSA 鑰匙。

1. 為什么使用 SSH?

使用 OpenSSH 工具將會增進(jìn)你的系統(tǒng)安全性。所有使用 OpenSSH 工具的通訊,包括口令,都會被加密。 telnet 和 斷點續(xù)傳 使用純文本口令,并被明文發(fā)送。這些信息可能會被截取,口令可能會被檢索,然后未經(jīng)授權(quán)的人員可能會使用截取的口令登錄進(jìn)你的系統(tǒng)而對你的系統(tǒng)造成危害。你應(yīng)該盡可能地使用 OpenSSH 的工具集合來避免這些安全問題。

另一個使用 OpenSSH 的原因是,它自動把 DISPLAY 變量轉(zhuǎn)發(fā)給客戶機器。換一句話說,如果你在本地機器上運行 X 窗口系統(tǒng),并且使用 ssh 命令登錄到了遠(yuǎn)程機器上,當(dāng)你在遠(yuǎn)程機器上執(zhí)行一個需要 X 的程序時,它會顯示在你的本地機器上。如果你偏愛圖形化系統(tǒng)管理工具,卻不能夠總是親身訪問該服務(wù)器,這就會為你的工作大開方便之門。

2. 配置 OpenSSH 服務(wù)器

要運行 OpenSSH 服務(wù)器,你必須首先確定你安裝了正確的 RPM 軟件包。openssh-server 軟件包是必不可少的,并且它依賴于 openssh 軟件包的安裝與否。

OpenSSH 守護(hù)進(jìn)程使用 /etc/ssh/sshd_config 配置文件。Red Hat Linux 9 安裝的默認(rèn)配置文件在多數(shù)情況下應(yīng)該足以勝任。如果你想使用沒有被默認(rèn)的 sshd_config 文件提供的方式來配置守護(hù)進(jìn)程,請閱讀 sshd 的說明書(man)頁來獲取能夠在配置文件中定義的關(guān)鍵字列表。

要啟動 OpenSSH 服務(wù),使用 /sbin/service sshd start 命令。要停止 OpenSSH 服務(wù)器,使用 /sbin/service sshd stop 命令。如果你想讓守護(hù)進(jìn)程在引導(dǎo)時自動啟動,請參閱相關(guān)資料來獲取關(guān)于如何管理服務(wù)的信息。

如果你重新安裝了 Red Hat Linux 系統(tǒng),任何在它被重裝前使用 OpenSSH 工具連接到這個系統(tǒng)上的客戶在它被重裝后將會看到下列消息:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the RSA host key has just been changed.

重裝后的系統(tǒng)會為自己創(chuàng)建一組新的身份標(biāo)識鑰匙;因此客戶會看到 RSA 主機鑰匙改變的警告。如果你想保存系統(tǒng)原有的主機鑰匙,備份 /etc/ssh/ssh_host*key* 文件,然后在系統(tǒng)重裝后恢復(fù)它。該過程會保留系統(tǒng)的身份。當(dāng)客戶機在該系統(tǒng)重裝后試圖連接它,它們就不會看到以上的警告信息。(還有一種解決方法見:http://chinaunix.net/forum/viewtopicPHP?t=109562&start=0)

3. 配置 OpenSSH 客戶

要從客戶機連接到 OpenSSH 服務(wù)器上,你必須在客戶機器上裝有 openssh-clients 和 openssh 軟件包。

3.1. 使用 ssh 命令

ssh 命令是 rlogin、rsh 和 telnet 命令的安全替換。它允許你在遠(yuǎn)程機器上登錄并在其上執(zhí)行命令。

使用 ssh 來登錄到遠(yuǎn)程機器和使用 telnet 相似。要登錄到一個叫做 penguin.example.net 的遠(yuǎn)程機器,在 shell 提示下鍵入下面的命令:

ssh penguin.Examplenet

第一次使用 ssh 在遠(yuǎn)程機器上登錄時,你會看到和下面相仿的消息:

The authenticity of host 'penguin.example.net' can't be established.

DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.

Are you sure you want to continue connecting (yes/no)?

鍵入 yes 來繼續(xù)。這會把該服務(wù)器添加到你的已知主機的列表中,如下面的消息所示:

Warning: Permanently added 'penguin.Examplenet' (RSA) to the list of known hosts.

下一步,你會看到向你詢問遠(yuǎn)程主機口令的提示。在輸入口令后,你就會在遠(yuǎn)程主機的 殼層 提示下了。如果你沒有指定用戶名,你在本地客戶機器上登錄用的用戶名就會被傳遞給遠(yuǎn)程機器。如果你想指定不同的用戶名,使用下面的命令:

ssh username@penguin.example.net

你還可以使用 ssh -l username penguin.Examplenet。

ssh 命令可以用來在遠(yuǎn)程機器上不經(jīng) shell 提示登錄而執(zhí)行命令。它的語法格式是: ssh hostname command。譬如,如果你想在遠(yuǎn)程主機 penguin.example.net 上執(zhí)行 ls /usr/share/doc 命令,在 shell 提示下鍵入下面的命令:

ssh penguin.example.net ls /usr/share/doc

在你輸入了正確的口令之后, /usr/share/doc 這個遠(yuǎn)程目錄中的內(nèi)容就會被顯示,然后你就會被返回到你的本地 shell 提示下。

3.2. 使用 scp 命令

scp 命令可以用來通過安全、加密的連接在機器間傳輸文件。它與 rcp 相似。

把本地文件傳輸給遠(yuǎn)程系統(tǒng)的一般語法是:

scp localfile username@tohostname:/newfilename

localfile 指定源文件,username@tohostname:/newfilename 指定目標(biāo)文件。

要把本地文件 shadowman 傳送到你在 penguin.example.net 上的賬號內(nèi),在 shell 提示下鍵入(把 username 替換成你的用戶名):

scp shadowman username@penguin.Examplenet:/home/username

這會把本地文件 shadowman 傳輸給 penguin.example.net 上的 /home/username/shadowman 文件。

把遠(yuǎn)程文件傳輸給本地系統(tǒng)的一般語法是:

scp username@tohostname:/remotefile /newlocalfile

remotefile 指定源文件,newlocalfile 指定目標(biāo)文件。

源文件可以由多個文件組成。譬如,要把目錄 /downloads 的內(nèi)容傳輸?shù)竭h(yuǎn)程機器 penguin.example.net 上現(xiàn)存的 uploads 目錄,在 殼層 提示下鍵入下列命令:

scp /downloads/* username@penguin.Examplenet:/uploads/

3.3. 使用 sftp 命令

sftp 工具可以用來打開一次安全互動的 FTP 會話。它與 斷點續(xù)傳 相似,只不過,它使用安全、加密的連接。它的一般語法是:sftp username@hostname.com。一旦通過 驗證,你可以使用一組和使用 FTP 相似的命令。請參閱 sftp 的說明書頁(man)來獲取這些 命令的列表。要閱讀說明書頁,在 殼層 提示下執(zhí)行 man sftp 命令。sftp 工具只在 OpenSSH 版本 2.5.0p1 以上才有。

3.4. 生成鑰匙對

如果你不想每次使用 ssh、scp 或 sftp 時都要輸入口令來連接遠(yuǎn)程機器,你可以生成一對授權(quán)鑰匙。

鑰匙必須為每個用戶生成。要為某用戶生成鑰匙,用想連接到遠(yuǎn)程機器的用戶身份來遵循下面的步驟。如果你用根用戶的身份完成了下列步驟,就只有根用戶才能使用這對鑰匙。

從 OpenSSH 版本 3.0 開始,~/.ssh/authorized_keys2、~/.ssh/known_hosts2 和 /etc/ssh_known_hosts2 就會過時。SSH 協(xié)議 1 和 2 共享 ~/.ssh/authorized_keys、~/.ssh/known_hosts 和 /etc/ssh/ssh_known_hosts 文件。

Red Hat Linux 9 默認(rèn)使用 SSH 協(xié)議 2 和 RSA 鑰匙。

竅門

如果你重裝了 Red Hat Linux,但是想保留現(xiàn)有的鑰匙對,備份你的主目錄中的 .ssh 目錄。重裝后,把該目錄復(fù)制回主目錄。該進(jìn)程可為系統(tǒng)上的所有用戶進(jìn)行,包括根用戶。

3.4.1. 為版本 2 生成 RSA 鑰匙對

使用下列步驟來為 SSH 協(xié)議的版本 2 生成 RSA 鑰匙對。從 OpenSSH 2.9 開始,它已成為默認(rèn)設(shè)置。

1. 要生成 RSA 鑰匙對與協(xié)議的版本 2 合作,在 shell 提示下鍵入下列命令:

ssh-keygen -t rsa

接受 ~/.ssh/id_rsa 的默認(rèn)位置。輸入一個與你的帳號口令不同的口令句,再輸入一次來確認(rèn)。

公鑰被寫入 ~/.ssh/id_rsa.pub。密鑰被寫入 ~/.ssh/id_rsa。決不能把密鑰出示給任何人。

2. 使用 chmod 755 ~/.ssh 命令改變你的 .ssh 目錄的許可權(quán)限。

3. 把 ~/.ssh/id_rsa.pub 的內(nèi)容復(fù)制到你想連接的機器上的 ~/.ssh/authorized_keys 文件中。如果 ~/.ssh/authorized_keys 不存在,你可以把 ~/.ssh/id_rsa.pub 文件復(fù)制到那個機器上的 ~/.ssh/authorized_keys 文件中。

4. 如果你運行的是 GNOME,跳到第 3.4.4 節(jié)。如果你沒在運行 X 窗口系統(tǒng),跳到第 3.4.5 節(jié)。

3.4.2. 為版本 2 生成 DSA 鑰匙對

使用下面的步驟來為 SSH 協(xié)議的版本 2 生成 DSA 鑰匙對。

1. 要生成用于協(xié)議的版本 2 的 DSA 鑰匙對,在 shell 提示下鍵入下面的命令:

ssh-keygen -t dsa

接受 ~/.ssh/id_dsa 的默認(rèn)位置。輸入一個與你的帳號口令不同的口令句,再輸入一次來確認(rèn)。

竅門

口令句是用來驗證用戶的一串詞匯和字符。口令句和一般口令的不同之處在于:在口令句中你可以使用空格或制表符。口令句通常比一般口令長,因為它們通常使用短語而不僅僅用一個詞。

公鑰被寫入 ~/.ssh/id_dsa.pub。密鑰被寫入 ~/.ssh/id_dsa。決不能把密鑰出示給任何人,這一點很重要。

2. 使用 chmod 755 ~/.ssh 命令改變你的 .ssh 目錄的許可權(quán)限。

3. 把 ~/.ssh/id_dsa.pub 的內(nèi)容復(fù)制到你想連接的機器中的 ~/.ssh/authorized_keys 文件中。如果文件 ~/.ssh/authorized_keys 不存在,你可以把 ~/.ssh/id_dsa.pub 文件復(fù)制到那個機器上的 ~/.ssh/authorized_keys文件中。

4. 如果你運行的是 GNOME,跳到第 3.4.4 節(jié)。如果你沒在運行 X 窗口系統(tǒng),跳到 第 3.4.5 節(jié)。

3.4.3. 為版本 1.3 和 1.5 生成 DSA 鑰匙對

使用下面的步驟來生成用于 SSH 協(xié)議版本 1 的 RSA 鑰匙對。如果你只在使用 DSA 的系統(tǒng)間連接,則不需要 RSA 版本 1.3 或 RSA 版本 1.5 鑰匙對。

1. 要生成 RSA (版本 1.3 和 1.5 協(xié)議)鑰匙對,在 shell 提示下鍵入下列命令:

ssh-keygen -t rsa1

接受默認(rèn)的位置(~/.ssh/identity)。輸入和你的帳號口令不同的口令句。再輸入一次來確認(rèn)。

公鑰被寫入 ~/.ssh/identity.pub。密鑰被寫入 ~/.ssh/identity。不要把你的密鑰出示給任何人。

2. 使用 chmod 755 ~/.ssh 和 chmod 644 ~/.ssh/identity.pub 命令改變你的 .ssh 目錄和密鑰的許可權(quán)限。

3. 把 ~/.ssh/identity.pub 的內(nèi)容復(fù)制到你想連接的機器中的 ~/.ssh/authorized_keys 文件中。如果文件 ~/.ssh/authorized_keys 不存在,你可以把 ~/.ssh/identity.pub 文件復(fù)制到遠(yuǎn)程機器上的 ~/.ssh/authorized_keys 文件中。

4. 如果你運行的是 GNOME,跳到第 3.4.4 節(jié)。如果你沒在運行 GNOME,跳到第 3.4.5 節(jié)。

3.4.4. 在 GNOME 中配置 ssh-agent

ssh-agent 工具可以用來保存你的口令句,因此你不必在每次引發(fā) ssh 或 scp 連接時都輸入口令。如果你在使用 GNOME,openssh-askpass-gnome 工具可以用來在你登錄到 GNOME 時提示你輸入口令句,并把它一直保留到你從 GNOME 中注銷之時。你不必為本次 GNOME 會話中任何 ssh 或 scp 連接輸入口令或口令句。如果你不打算使用 GNOME,請參閱第 3.4.5 節(jié)。

要在 GNOME 會話中保存口令句,遵循下列步驟:

1. 你需要安裝 openssh-askpass-gnome 軟件包;你可以使用 rpm -q openssh-askpass-gnome 命令來判定該軟件包是否已被安裝。如果它沒有被安裝,從你的 Red Hat Linux 光盤集合、Red Hat FTP 鏡像站點、或使用 Red Hat 網(wǎng)絡(luò) 來安裝它。

2. 點擊「主菜單」(在面板上)=> 「首選項」 => 「更多首選項」 => 「會話」。然后點擊「啟動程序」標(biāo)簽。點擊「增加」,在「啟動命令」文本字段內(nèi)輸入 /usr/bin/ssh-add。把它的優(yōu)先級設(shè)為比任何現(xiàn)存命令都高的數(shù)字以確保它最后才執(zhí)行。ssh-add 的優(yōu)先級數(shù)字最好是 70 或更高。優(yōu)先級數(shù)字越高,優(yōu)先級越低。如果你列出了其它程序,該程序的優(yōu)先級應(yīng)該最低。點擊「關(guān)閉」來退出該程序。

3. 注銷后再登錄進(jìn) GNOME;換一句話說,重新啟動 X 服務(wù)器。在 GNOME 啟動后,一個提示你輸入口令句的對話框就會出現(xiàn)。輸入要求的口令句。如果你把 DSA 和 RSA 兩者都配置了,你會被提示兩者都輸入。從現(xiàn)在起,你就不會被 ssh、 scp 或 sftp 提示輸入口令了。

3.4.5. 配置 ssh-agent

ssh-agent 可以用來儲存你的口令句,因此你在每次使用 ssh 或 scp 連接時就不必總是輸入它。如果你不在運行 X 窗口系統(tǒng),則在 shell 提示中遵循這些步驟。如果你在運行 GNOME,但是不想配置它來在你登錄時提示你輸入口令(參閱第 3.4.4 節(jié)),這個過程可以在類似 xterm 的終端窗口中進(jìn)行。如果你在運行 X 卻不是 GNOME,這個過程可以在終端中進(jìn)行。可是,你的口令只能在該終端窗口中被記住,它不是全局設(shè)置。

1. 在 shell 提示下,鍵入下面的命令:

exec /usr/bin/ssh-agent $SHELL

2. 然后,鍵入下面的命令:

ssh-add

接著,輸入你的口令。如果你配置了不止一個鑰匙對,你會被提示輸入每個口令。

3. 當(dāng)你注銷后,口令句就會被忘記。你必須在每次登錄到虛擬控制臺或打開終端窗口時都執(zhí)行這兩條命令。

4. 其它資料

OpenSSHOpenSSL 工程處于不斷地開發(fā)中,因此關(guān)于它們的最新信息通常位于它們的官方網(wǎng)站中。OpenSSH 和 OpenSSL 工具的說明書(man)頁也是個獲取詳細(xì)信息的好地方。

4.1. 安裝了的文檔

* ssh、scp、sftp、sshd 和 ssh-keygen 的說明書(man)頁 — 關(guān)于它們的說明書頁包括如何使用這些命令的信息,以及所有能與它們一起使用的參數(shù)。

4.2. 有用的網(wǎng)站

參考資料 >

生活家百科家居網(wǎng)