自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面介紹Linux ssh無密碼訪問(二)

運維 系統(tǒng)運維
Linux ssh無密碼訪問前面一篇文章中我們介紹了在服務(wù)器端的配置,接著我們來配置客戶端,最終完成Linux ssh無密碼訪問。

Linux ssh無密碼訪問的服務(wù)器端配置已經(jīng)完成了,這里說一下在客戶端的配置,想對于服務(wù)器端的配置客戶端相對會麻煩一些,不過細心一些,最后就一定能實現(xiàn)在Linux ssh無密碼訪問。

在客戶端

這個問題比較有代表性,雖然寫的比較簡單,但是還是+精吧,省得以后再有人問
參考
man ssh-add
man ssh-keygen
man ssh-agent

使用公鑰/私鑰進行安全的遠程訪問

在數(shù)字安全的上下文中,密鑰(key)指的是用來加密或解密其他數(shù)據(jù)片斷的一個數(shù)據(jù)片斷。公鑰私鑰模式的有趣之處在于,使用公鑰加密的數(shù)據(jù),只有用相應(yīng)的私鑰才可以解密。您可以自由地發(fā)布一個公鑰,這樣別人就可以對發(fā)送給您的消息進行加密。公鑰/私鑰模式徹底改變了數(shù)字安全的原因之一是,發(fā)送者和接收者不必再共享一個通用的密碼。除了其他方面的貢獻,公鑰/私鑰加密使用電子商務(wù)和其他安全傳輸成為可能。在本文中,我們將創(chuàng)建并使用公鑰和私鑰來創(chuàng)建一個非常安全的分布式備份解決方案。

要進行備份過程的每臺機器都必須運行 OpenSSH 安全 shell 服務(wù)(sshd),同時讓 22 端口可以通過任何內(nèi)部防火墻被訪問。如果您訪問遠程的服務(wù)器,那么很有可能您正在使用安全 shell。

我們的目標將是,不需要人工提供密碼就可以安全地訪問機器。一些人認為最簡單的辦法是設(shè)置無密碼的訪問:不要這樣做。這樣做不安全。不用那樣,本文中我們將使用的方法可能會占用您大約一個小時的時間,建立起一個與使用“無密碼”帳號同樣方便的系統(tǒng) —— 不過它是公認非常安全的。

讓我們首先確保 OpenSSH 已經(jīng)安裝,接下來查看它的版本號。完成本文時,最新的發(fā)行的 OpenSSH 是 2004 年 2 月 24 日發(fā)布的版本 3.8。您應(yīng)該考慮使用一個較新的而且穩(wěn)定的發(fā)布版本,至少所用的版本應(yīng)該要比版本 2.x 新。訪問 OpenSSH Security 網(wǎng)頁以獲得關(guān)于特定舊版本的缺陷的細節(jié)。到目前為止,OpenSSH 是非常穩(wěn)定的,而且已經(jīng)證明不存在其他 SSH 工具所報告的很多缺陷。

在 shell 提示符中,輸入 ssh 并給出重要的 V 選項來檢查版本號:
$ ssh -V
OpenSSH_3.5p1, SSH protocols 1.5/2.0, OpenSSL 0x0090701f

如果 ssh 返回的版本號大于 2.x,則機器處于相對良好的狀態(tài)。無論如何,建議您所有的軟件都使用最新的穩(wěn)定版本,這對于安全相關(guān)的軟件來說尤其重要。

我們的第一個步驟是,使用將會有特權(quán)訪問服務(wù)器 1 和 2 的帳號登錄到離線存儲服務(wù)器機器(見圖 1)。
$ ssh accountname@somedomain.com

登錄到離線存儲服務(wù)器以后,使用 ssh-keygen 程序并給出 -t dsa 選項來創(chuàng)建一個公鑰/密鑰對。 -t 選項是必須的,用來指定我們要生成的密鑰類型。我們將使用數(shù)字簽名算法(Digital Signature Algorithm,DSA),它讓我們可以使用更新的 SSH2 協(xié)議。參閱 ssh-keygen 手冊以獲得更多細節(jié)。

在 ssh-keygen 執(zhí)行的過程中,在詢問您口令(passphrase)之前,將提示您輸入 ssh 密鑰存儲的位置。當(dāng)詢問在何處存儲密鑰時只需要按下回車鍵,然后 ssh-keygen 程序?qū)?chuàng)建一個名為 .ssh 的隱藏目錄(如果原來不存在),以及兩個文件,一個公鑰文件和一個私鑰文件。

ssh-keygen 的一個有趣特性是,當(dāng)提示輸入一個口令時,它讓您可以只是簡單地按下回車鍵。如果您沒有給出口令,那么 ssh-keygen 將生成沒有加密的密鑰!如您所想,這不是個好主意。當(dāng)要求輸入口令時,確保輸入一個足夠長的字符消息,最好包含混合字符而不僅僅是一個簡單的密碼字符串。

清單 3. 永遠選擇好的口令

[offsite]:$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/accountname/.ssh/id_dsa):
Enter passphrase (empty for no passphrase): (enter passphrase)
Enter same passphrase again: (enter passphrase)
Your identification has been saved in /home/accountname/.ssh/id_dsa.
Your public key has been saved in /home/accountname/.ssh/id_dsa.pub.
The key fingerprint is:
7e:5e:b2:f2:d4:54:58:6a:fa:6b:52:9c:da:a8:53:1b accountname@offsite

由于 ssh-keygen 生成的 .ssh 目錄是一個隱藏的“dot”目錄,所以要給 ls 命令傳入一個 -a 選項來查看新創(chuàng)建的目錄:

[offsite]$ ls -a
. .. .bash_logout .bash_profile .bashrc .emacs .gtkrc .ssh

進入隱藏的 .ssh 目錄并列出其內(nèi)容:

[offsite]$ cd .ssh
[offsite]$ ls -lrt
id_dsa id_dsa.pub

現(xiàn)在,在隱藏的 .ssh 目錄中,我們已經(jīng)擁有了一個私鑰(id_dsa)和一個公鑰(id_dsa.pub)。您可以使用 vi 或 emacs 等文本編輯工具或者簡單地使用 less 或 cat 命令來分析每個密鑰文件的內(nèi)容。您將看到由混合字符構(gòu)成的內(nèi)容已經(jīng)經(jīng)過了 base64 編碼。

然后,我們需要將公鑰拷貝并安裝到服務(wù)器 1 和 2 上。不要使用 ftp。更合理的是,使用安全拷貝程序來將公鑰傳送到每一臺遠程機器上。

清單 4. 將公鑰安裝到遠程服務(wù)器上

[offsite]$ scp .ssh/id_dsa.pub accountname@server1.com:offsite.pub
accountname@server1.com's password: (enter password, not newpassphrase!)
id_dsa.pub 100% |*****************************| 614 00:00

[offsite]$ scp .ssh/id_dsa.pub accountname@server2.com:offsite.pub
accountname@server2.com's password: (enter password, not new passphrase!)
id_dsa.pub 100% |*****************************| 614 00:00

在安裝完新的公鑰后,我們就可以使用創(chuàng)建私鑰和公鑰時指定的口令來登錄到每一臺機器。現(xiàn)在,登錄到每臺機器,并將 offsite.pub 文件的內(nèi)容附加到一個名為 authorized_keys 的文件中,這個文件存儲在每臺遠程機器的 .ssh 目錄下。我們可以使用一個文本編輯器或者簡單地使用 cat 命令來將 offsite.pub 文件的內(nèi)容附加到 authorized_keys 文件:

清單 5. 將 offsite.pub 添加到已授權(quán)密鑰列表

[offsite]$ ssh accountname@server1.com
accountname@server1.com's password: (enter password, not new passphrase!)
[server1]$ cat offsite.pub >> ./ssh/authorized_keys

接下來的步驟是考慮一些額外的安全性。首先,我們修改 .ssh 的訪問權(quán)限,以使得只有所有者有讀、寫和執(zhí)行的權(quán)限。然后,我們確保 authorized_keys 文件只能由所有者來訪問。最后,將先前上傳的 offsite.pub 密鑰文件刪除,因為再也不需要它了。確保設(shè)置適當(dāng)?shù)脑L問權(quán)限很重要,因為 OpenSSH 服務(wù)器可能會拒絕使用具有不安全訪問權(quán)限的密鑰。

清單 6. 使用 chmod 修改權(quán)限

[server1]$ chmod 700 .ssh
[server1]$ chmod 600 ./ssh/authorized_keys
[server1]$ rm offsite.pub
[server1]$ exit

在服務(wù)器 2 上完成同樣的步驟后,我們就可以返回到離線存儲機器上來測試新的口令類型的訪問。在離線服務(wù)器上您可以輸入下面的內(nèi)容:
[offsite]$ ssh -v accountname@server1.com

在檢驗?zāi)膸ぬ柆F(xiàn)在可以使用新的口令而不是原來的密碼來訪問遠程的服務(wù)器時,使用 -v 或 verbose 標記選項來顯示調(diào)試信息。調(diào)試輸出除了能讓您在一個高的層面上觀察到認證過程是如何工作的之外,還可以顯示出您可以以其他方式無法得到的重要信息。在以后的連接中您可能并不需要指定 -v 標記;但是在測試連接時它相當(dāng)有用。

到這里就完成了Linux ssh無密碼訪問的全部配置。

【編輯推薦】

  1. 全面介紹Linux ssh無密碼訪問(一)
  2. 教你Linux省略密碼的簡單做法
  3. 全面闡述Linux病毒防護
  4. 全面處理Linux syn攻擊
  5. 詳細解析Linux系統(tǒng)網(wǎng)絡(luò)服務(wù)
責(zé)任編輯:小霞 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-03-10 16:16:53

Linux ssh無密

2010-03-05 16:44:52

Linux終端命令

2010-03-10 13:34:03

Linux重要安全命令

2019-11-10 09:30:44

LinuxLinux權(quán)限

2012-06-28 10:52:06

Hadoop集群

2012-09-13 13:26:40

Hadoop集群

2009-12-24 10:43:03

Linux配置ntop

2010-03-10 13:08:38

Linux安裝電驢

2012-05-08 11:14:27

LinuxOpenSSHSSH

2010-03-05 16:19:47

2009-12-17 14:34:24

Linux系統(tǒng)內(nèi)核

2010-03-16 10:28:44

Ubuntu 8.04

2010-03-10 13:19:21

Linux重要安全命令

2009-12-11 16:53:52

Linux操作系統(tǒng)

2009-12-16 13:42:56

Mandriva Li

2010-03-09 14:59:02

Linux ifcon

2015-05-28 15:32:14

Linuxssh

2023-09-13 22:54:06

2009-12-22 16:43:28

2017-03-16 14:07:11

LinuxSSH遠程訪問
點贊
收藏

51CTO技術(shù)棧公眾號