ssh配置文件詳解

轉(zhuǎn)自:https://blog.51cto.com/3381847248/2066599

一、ssh詳解

1、什么是ssh

簡單來說,ssh是一種網(wǎng)絡(luò)協(xié)議,用于計算機(jī)之間的加密登錄。

如果一個用戶從本地計算機(jī),使用ssh協(xié)議登錄另一臺遠(yuǎn)程計算機(jī),我們就可以認(rèn)為,這種登錄是安全的,即使被中途截獲,密碼也不會泄露。

需要指出的是,ssh只有一種協(xié)議,存在多種實(shí)現(xiàn),既有商業(yè)實(shí)現(xiàn),也有開源實(shí)現(xiàn)。

2、基本用法

(1)、使用某個用戶(例如user)登錄遠(yuǎn)程主機(jī)host

命令:ssh user@host

(2)、如果本地用戶名和遠(yuǎn)程用戶名一致,則登錄時可以省略用戶名

命令:ssh host

(3)、ssh的默認(rèn)端口是22,也就是說,你的登錄請求會送進(jìn)遠(yuǎn)程主機(jī)的22端口。使用-p參數(shù),可以修改這個端口

命令:ssh –p 端口號 user@host

3、中間人攻擊

SSH之所以能夠保證安全,原因在于它采用了公鑰加密。整個過程如下:

(1)遠(yuǎn)程主機(jī)收到用戶的登錄請求,把自己的公鑰發(fā)給用戶。

(2)用戶使用這個公鑰,將登錄密碼加密后,發(fā)送回來。

(3)遠(yuǎn)程主機(jī)用自己的私鑰,解密登錄密碼,如果密碼正確,就同意用戶登錄。

這個過程本身是安全的,但是實(shí)施的時候存在一個風(fēng)險:如果有人截獲了登錄請求,然后冒充遠(yuǎn)程主機(jī),將偽造的公鑰發(fā)給用戶,那么用戶很難辨別真?zhèn)?。因?yàn)椴幌駂ttps協(xié)議,SSH協(xié)議的公鑰是沒有證書中心(CA)公證的,也就是說,都是自己簽發(fā)的??梢栽O(shè)想,如果攻擊者插在用戶與遠(yuǎn)程主機(jī)之間(比如在公共的wifi區(qū)域),用偽造的公鑰,獲取用戶的登錄密碼。再用這個密碼登錄遠(yuǎn)程主機(jī),那么SSH的安全機(jī)制就蕩然無存了。這種風(fēng)險就是著名的"中間人攻擊"。

4、ssh的安全驗(yàn)證

SSH有自己的一套驗(yàn)證方式,可以阻攔大部分的攻擊,當(dāng)然如果有人想通過撞庫來嘗試密碼的話,就只有設(shè)置防火墻或者做其它的安全措施了。

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

(1)、第一種級別(基于口令的安全驗(yàn)證)

只要你知道自己帳號和口令,就可以登錄到遠(yuǎn)程主機(jī)。所有傳輸?shù)臄?shù)據(jù)都會被加密,但是不能保證你正在連接的服務(wù)器就是你想連接的服務(wù)器??赡軙袆e的服務(wù)器在冒充真正的服務(wù)器,也就是受到“中間人”這種方式的攻擊。

(2)、第二種級別(基于密匙的安全驗(yàn)證)

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

用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網(wǎng)絡(luò)上傳送口令。第二種級別不僅加密所有傳送的數(shù)據(jù),而且“中間人”這種攻擊方式也是不可能的(因?yàn)樗麤]有你的私人密匙)。但是整個登錄的過程可能需要10秒。

5、口令登錄

(1)、如果是第一次登錄對方主機(jī),系統(tǒng)會出現(xiàn)如下圖的提示

blob.png

這段話的意思是,無法確認(rèn)host主機(jī)的真實(shí)性,只知道它的公鑰指紋,問你還想繼續(xù)連接嗎?

所謂"公鑰指紋",是指公鑰長度較長(這里采用RSA算法,長達(dá)1024位),很難比對,所以對其進(jìn)行MD5計算,將它變成一個128位的指紋。上例中是20:42:b3:d6:79:dc:79:ec:26:1a:54:8c:72:b7:a7:e3,再進(jìn)行比較,就容易多了。

很自然的一個問題就是,用戶怎么知道遠(yuǎn)程主機(jī)的公鑰指紋應(yīng)該是多少?回答是沒有好辦法,遠(yuǎn)程主機(jī)必須在自己的網(wǎng)站上貼出公鑰指紋,以便用戶自行核對。

(2)、假設(shè)經(jīng)過風(fēng)險衡量后,用戶決定接受這個遠(yuǎn)程主機(jī)的公鑰

blob.png

(3)、系統(tǒng)會出現(xiàn)一句提示,表示192.168.10.13主機(jī)已經(jīng)得到認(rèn)可

blob.png

(4)、輸入密碼(如果密碼正確,就可以登錄了)

blob.png
image

說明:

當(dāng)遠(yuǎn)程主機(jī)的公鑰被接受以后,它就會被保存在文件$HOME/.ssh/known_hosts之中。下次再連接這臺主機(jī),系統(tǒng)就會認(rèn)出它的公鑰已經(jīng)保存在本地了,從而跳過警告部分,直接提示輸入密碼。

每個SSH用戶都有自己的known_hosts文件,此外系統(tǒng)也有一個這樣的文件,通常是/etc/ssh/ssh_known_hosts,保存一些對所有用戶都可信賴的遠(yuǎn)程主機(jī)的公鑰。

6、公鑰登錄

使用密碼登錄,每次都必須輸入密碼,非常麻煩。好在SSH還提供了公鑰登錄,可以省去輸入密碼的步驟。

所謂"公鑰登錄",原理很簡單,就是用戶將自己的公鑰儲存在遠(yuǎn)程主機(jī)上。登錄的時候,遠(yuǎn)程主機(jī)會向用戶發(fā)送一段隨機(jī)字符串,用戶用自己的私鑰加密后,再發(fā)回來。遠(yuǎn)程主機(jī)用事先儲存的公鑰進(jìn)行解密,如果成功,就證明用戶是可信的,直接允許登錄shell,不再要求密碼。

(1)、這種方法要求用戶必須提供自己的公鑰。如果沒有現(xiàn)成的,可以直接用ssh-keygen生成一個,如下圖所示

blob.png

說明:

運(yùn)行上面的命令以后,系統(tǒng)會出現(xiàn)一系列提示,可以一路回車。其中有一個問題是,要不要對私鑰設(shè)置口令(passphrase),如果擔(dān)心私鑰的安全,這里可以設(shè)置一個。

運(yùn)行結(jié)束以后,在$HOME/.ssh/目錄下,會新生成兩個文件:id_rsa.pub和id_rsa。id_rsa.pub是公鑰,id_rsa是私鑰。

(2)、這時再輸入下面的命令,將公鑰傳送到遠(yuǎn)程主機(jī)host上面

命令:ssh-copy-id 192.168.10.12

blob.png

說明:

第一次是需要輸入密碼的,但之后ssh就不需要輸密碼了。

如果ssh-copy-id不行的話,就打開遠(yuǎn)程主機(jī)的/etc/ssh/sshd_config這個文件,檢查下面幾行前面"#"注釋是否取掉。

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

然后,重啟遠(yuǎn)程主機(jī)的ssh服務(wù)。

7、authorized_keys文件

遠(yuǎn)程主機(jī)將用戶的公鑰,保存在登錄后的用戶主目錄的$HOME/.ssh/authorized_keys文件中。公鑰就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了。

(1)、這里不使用上面的ssh-copy-id命令,改用下面的命令,解釋公鑰的保存過程:  ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

說明:

1)、"$ ssh user@host",表示登錄遠(yuǎn)程主機(jī);

2)、單引號中的mkdir .ssh && cat >> .ssh/authorized_keys,表示登錄后在遠(yuǎn)程shell上執(zhí)行的命令;

3)、"$ mkdir -p .ssh"的作用是,如果用戶主目錄中的.ssh目錄不存在,就創(chuàng)建一個;

4)、'cat >> .ssh/authorized_keys' < /.ssh/id_rsa.pub的作用是,將本地的公鑰文件/.ssh/id_rsa.pub,重定向追加到遠(yuǎn)程文件authorized_keys的末尾。

5)、寫入authorized_keys文件后,公鑰登錄的設(shè)置就完成了。

(2)、通過安裝lrzsz服務(wù)實(shí)現(xiàn)

1)、安裝lrzsz服務(wù)后,使用sz +公鑰路徑下載下來

2)、通過rz命令將下載下來的公鑰上傳到遠(yuǎn)程主機(jī)上,將公鑰重定向追加到文件authorized_keys的末尾

3)、寫入authorized_keys文件后,公鑰登錄的設(shè)置就完成了。

二、ssh自定義安全設(shè)置

1、為了ssh登陸的時候加一層保護(hù),可以修改默認(rèn)端口。修改ssh服務(wù)配置文件/etc/ssh/sshd_config

port 2222

這樣遠(yuǎn)程連接時加上端口

ssh 192.168.10.13 -p 2222

2、ssh使用時加-l后面跟用戶名,表示登陸到對方的這個用戶下面。

ssh -l user 192.168.10.13 -p 2222

等同于

ssh user@192.168.10.13 -p 2222

3、限制ssh登陸的來源ip,白名單設(shè)置(hosts.allow優(yōu)先級最高)

1)、通過iptables設(shè)置ssh端口的白名單,如下設(shè)置只允許192.168.1.0/24網(wǎng)段的客戶機(jī)可以遠(yuǎn)程連接本機(jī)

Iptables -A INPUT -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 2222 -j ACCEPT

或者

vim /etc/sysconfig/iptables

-A INPUT -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 2222 -j ACCEPT

2)、通過/etc/hosts.allow里面進(jìn)行限制(如下),/etc/hosts.deny文件不要任何內(nèi)容編輯,保持默認(rèn)!

vim /etc/hosts.allow

sshd:192.168.1.,192.168.9.,124.65.197.154,61.148.60.42,103.10.86.7:allow

sshd:all:deny

4、僅允許特定的用戶通過SSH登陸

如不允許root用戶登錄;

只允許幾個指定的用戶登錄(比如wangshibo、guohuihui、liuxing用戶)

禁止某些指定的用戶登錄(比如zhangda,liqin用戶)

但是要注意:設(shè)置的這幾個用戶必須同時存在于本機(jī)和對方機(jī)器上

修改ssh服務(wù)配置文件/etc/ssh/sshd_config

PermitRootLogin no //將yes修改為no

AllowUsers wangshibo guohuihui liuxing //這個參數(shù)AllowUsers如果不存在,需要手動創(chuàng)建,用戶之間空格隔開;

DenyUsers zhagnda liqin //這個參數(shù)DenyUsers如果不存在,需要手動創(chuàng)建,用戶之間空格隔開;

也可以設(shè)置僅允許某個組的成員通過ssh訪問主機(jī)。

AllowGroups wheel ops

5、取消密碼驗(yàn)證,只用密鑰對驗(yàn)證

修改ssh服務(wù)配置文件/etc/ssh/sshd_config

PasswordAuthentication no

PubkeyAuthentication yes

6、給賬號設(shè)置復(fù)雜的密碼:將密碼保存到文本進(jìn)行復(fù)制和粘帖就可以了

rpm -ivh expect-5.43.0-5.1.i386.rpm| yum -y install expect

mkpasswd -l 128 -d 8 -C 15 -s 10 //將下面密碼保存到文本進(jìn)行復(fù)制、粘貼即可

lVj.jg&sKrf0cvtgmydqo7qPotxzxen9mefy?ej!kcaX2gQrcu2ndftkeamllznx>iHikTagiVz0$cMtqOcIypkpd,vvD*kJhs3q@sb:CiCqgtqdqvse5lssfmranbtx

參數(shù)說明:

-l 密碼長度

-d 多少個數(shù)字

-C 大寫字母個數(shù)

-s 特殊符號的個數(shù)

7、只允許通過指定的網(wǎng)絡(luò)接口來訪問SSH服務(wù),(如果本服務(wù)器有多個IP的時候)

仍然是修改/etc/ssh/sshd_config,如下:

ListenAddress 192.168.1.15 //默認(rèn)監(jiān)聽的是0.0.0.0

這樣,就只允許遠(yuǎn)程機(jī)器通過ssh連接本機(jī)的192.168.1.15內(nèi)網(wǎng)ip來進(jìn)行登陸了。

8、禁止空密碼登錄

如果本機(jī)系統(tǒng)有些賬號沒有設(shè)置密碼,而ssh配置文件里又沒做限制,那么遠(yuǎn)程通過這個空密碼賬號就可以登陸了,這是及其不安全的,所以一定要禁止空密碼登陸。修改/etc/ssh/sshd_config,如下:

PermitEmptyPasswords no //這一項(xiàng),默認(rèn)就是禁用空密碼登陸

9、 ssh_config和sshd_config

ssh_config和sshd_config都是ssh服務(wù)器的配置文件,二者區(qū)別在于,前者是針對客戶端的配置文件,后者則是針對服務(wù)端的配置文件。兩個配置文件都允許你通過設(shè)置不同的選項(xiàng)來改變客戶端程序的運(yùn)行方式。

三、ssh配置文件詳解

1、/etc/ssh/ssh_config配置文件

選項(xiàng)參數(shù)                              說明
Host *                                    選項(xiàng)“Host”只對能夠匹配后面字串的計算機(jī)有效?!?”表示所有的計算機(jī)。
ForwardAgent no                           設(shè)置連接是否經(jīng)過驗(yàn)證代理(如果存在)轉(zhuǎn)發(fā)給遠(yuǎn)程計算機(jī)。
ForwardX11 no                             設(shè)置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)
RhostsAuthentication no                   設(shè)置是否使用基于rhosts的安全驗(yàn)證
RhostsRSAAuthentication no            設(shè)置是否使用用RSA算法的基于rhosts的安全驗(yàn)證
RSAAuthentication yes                     設(shè)置是否使用RSA算法進(jìn)行安全驗(yàn)證
PasswordAuthentication yes            設(shè)置是否使用口令驗(yàn)證
FallBackToRsh no                      設(shè)置如果用ssh連接出現(xiàn)錯誤是否自動使用rsh
UseRsh no                             設(shè)置是否在這臺計算機(jī)上使用“rlogin/rsh”
BatchMode no                              如果設(shè)為“yes”,passphrase/password(交互式輸入口令)的提示將被禁止。當(dāng)不能交互式輸入口令的時候,這個選項(xiàng)對腳本文件和批處理任務(wù)十分有用
CheckHostIP yes                           設(shè)置ssh是否查看連接到服務(wù)器的主機(jī)的IP地址以防止DNS欺騙。建議設(shè)置為“yes”
StrictHostKeyChecking no              如果設(shè)置成“yes”,ssh就不會自動把計算機(jī)的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦計算機(jī)的密匙發(fā)生了變化,就拒絕連接
IdentityFile ~/.ssh/identity              設(shè)置從哪個文件讀取用戶的RSA安全驗(yàn)證標(biāo)識
Port 22                                   設(shè)置連接到遠(yuǎn)程主機(jī)的端口
Cipher blowfish                           設(shè)置加密用的密碼
EscapeChar ~                              設(shè)置escape字符

2、/etc/ssh/sshd_config配置文件

參數(shù)選項(xiàng)                                                        說明
Port 22                                                         SSH 預(yù)設(shè)使用 22 這個 port,您也可以使用多的 port !
Protocol 2,1                                                    選擇的 SSH 協(xié)議版本,可以是 1 也可以是 2 ,如果要同時支持兩者,就必須要使用 2,1 這個分隔了!
ListenAddress 0.0.0.0                                           監(jiān)聽的主機(jī)適配卡!舉個例子來說,如果您有兩個 IP,分別是 192.168.0.100 及 192.168.2.20 ,那么只想要開放 192.168.0.100 時,就可以寫如同下面的樣式:
ListenAddress 192.168.0.100                                     只監(jiān)聽來自 192.168.0.100 這個 IP 的SSH聯(lián)機(jī)。如果不使用設(shè)定的話,則預(yù)設(shè)所有接口均接受 SSH
PidFile /var/run/sshd.pid                                       可以放置 SSHD 這個 PID 的檔案!左列為默認(rèn)值
LoginGraceTime 600                                              當(dāng)使用者連上 SSH server 之后,會出現(xiàn)輸入密碼的畫面,在該畫面中,在多久時間內(nèi)沒有成功連上 SSH server ,就斷線!時間為秒!
Compression yes                                                 是否可以使用壓縮指令?
HostKey /etc/ssh/ssh_host_key                                   SSH version 1 使用的私鑰
HostKey /etc/ssh/ssh_host_rsa_key                               SSH version 2 使用的 RSA 私鑰
HostKey /etc/ssh/ssh_host_dsa_key                               SSH version 2 使用的 DSA 私鑰
KeyRegenerationInterval 3600                                    由前面聯(lián)機(jī)的說明可以知道, version 1 會使用 server 的 Public Key ,每隔一段時間來重新建立一次!時間為秒!
ServerKeyBits 768                                               Server key 的長度!
SyslogFacility AUTH                                             當(dāng)有人使用 SSH 登入系統(tǒng)的時候,SSH會記錄信息
LogLevel INFO                                                   登錄記錄的等級---》全部
PermitRootLogin no                                              是否允許 root 登入!預(yù)設(shè)是允許的,但是建議設(shè)定成 no!
UserLogin no                                                    在 SSH 底下本來就不接受 login 這個程序的登入!
StrictModes yes                                                 當(dāng)使用者的 host key 改變之后,Server 就不接受聯(lián)機(jī)
RSAAuthentication yes                                           是否使用純的 RSA 認(rèn)證!?僅針對 version 1 !
PubkeyAuthentication yes                                        是否允許 Public Key ?只有 version 2
AuthorizedKeysFile   .ssh/authorized_keys                       設(shè)定若要使用不需要密碼登入的賬號時,那么那個賬號的存放檔案所在檔名!
RhostsAuthentication no                                         本機(jī)系統(tǒng)不使用 .rhosts , .rhosts 不安全!
IgnoreRhosts yes                                                是否取消使用 ~/.ssh/.rhosts 來做為認(rèn)證!
RhostsRSAAuthentication no                                      針對 version 1 ,使用 rhosts 檔案在/etc/hosts.equiv配合 RSA 演算方式來進(jìn)行認(rèn)證!
HostbasedAuthentication no                                      這個項(xiàng)目與上面的項(xiàng)目類似,不過是給 version 2 使用的!
IgnoreUserKnownHosts no                                         是否忽略家目錄內(nèi)的 ~/.ssh/known_hosts 這個檔案所記錄的主機(jī)內(nèi)容
PasswordAuthentication yes                                      密碼驗(yàn)證當(dāng)然是需要的!
PermitEmptyPasswords no                                         上面那一項(xiàng)如果設(shè)定為 yes 的話,這一項(xiàng)就最好設(shè)定為 no ,這個項(xiàng)目在是否允許以空的密碼登入!
ChallengeResponseAuthentication yes                             挑戰(zhàn)任何的密碼認(rèn)證!所以,任何 login.conf 規(guī)定的認(rèn)證方式,均可適用!
PAMAuthenticationViaKbdInt yes                                  是否啟用其它的 PAM 模塊!啟用這個模塊將會導(dǎo)致 PasswordAuthentication 設(shè)定失效!

與Kerberos 有關(guān)的參數(shù)設(shè)定!底下不用設(shè)定
KerberosAuthentication no
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes
KerberosTgtPassing no

有關(guān)在 X-Window 底下使用的相關(guān)設(shè)定
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

PrintMotd no                                                    登入后是否顯示出一些信息呢?例如上次登入的時間、地點(diǎn)等,預(yù)設(shè)是 yes ,但是,如果為了安全,可以考慮改為 no !
PrintLastLog yes                                                顯示上次登入的信息!預(yù)設(shè)也是 yes 
KeepAlive yes                                                   一般而言,如果設(shè)定這項(xiàng)目的話,那么 SSH Server 會傳送KeepAlive 的訊息給 Client 端,以確保兩者的聯(lián)機(jī)正常!在這個情況下,任何一端死掉后, SSH 可以立刻知道!而不會有僵尸程序的發(fā)生!
UsePrivilegeSeparation yes                                      使用者的權(quán)限設(shè)定項(xiàng)目!
MaxStartups 10                                                  同時允許幾個尚未登入的聯(lián)機(jī)畫面
DenyUsers *                                                     設(shè)定受抵擋的使用者名稱
AllowUsers *                                                    設(shè)定允許的使用者名稱

四、ssh練習(xí)

1、配置ssh只能使用key登錄

(1)、遠(yuǎn)程主機(jī)的配置過程(主機(jī)192.168.10.13)

1、修改主機(jī)192.168.10.13的配置文件,使其支持使用ssh私鑰登錄

Vim /etc/ssh/sshd_config

取消下面三行的注釋,如圖1所示

RSAAuthentication yes ##設(shè)置是否使用RSA算法進(jìn)行安全驗(yàn)證

PubkeyAuthentication yes ##是否允許 Public Key ?只有 version 2

AuthorizedKeysFile .ssh/authorized_keys ##設(shè)定若要使用不需要密碼登入的賬號時,那么那個賬號的存放檔案所在檔名!

blob.png

圖1、取消相關(guān)注釋

重啟sshd服務(wù)即可

2、關(guān)閉root用戶使用密碼登錄

修改主機(jī)192.168.10.13的配置文件/etc/ssh/sshd_config,將PasswordAuthentication 后面的yes改為no,如圖2所示

PasswordAuthentication no ##設(shè)置是否使用口令驗(yàn)證

blob.png

圖2、把yes改為no

重啟sshd服務(wù)即可

(2)本機(jī)的配置過程(主機(jī)192.168.10.11)

1、使用ssh-keygen生成公鑰和私鑰,如圖3所示

blob.png
            圖3、ssh-keygen生成公鑰和私鑰

2、直接使用ssh口令登錄來驗(yàn)證剛剛的配置是否成功

在主機(jī)192.168.10.11上,ssh 192.168.10.13我們可以發(fā)現(xiàn)ssh不進(jìn)去了,如圖4所示

blob.png
           圖4、驗(yàn)證使用口令是否ssh成功

3、將主機(jī)192.168.10.11的公鑰上傳到主機(jī)192.168.10.13上

(1)、安裝lrzsz服務(wù)

Yum install –y lrzsz

(2)、使用sz命令下載公鑰,如圖5所示

blob.png
                     圖5、下載公鑰

(3)、將公鑰上傳要主機(jī)192.168.10.13上,如圖6所示

blob.png
                     圖6、上傳公鑰

(3)、將公鑰追加到文件authorized_keys里

[root@localhost ~]# cat id_rsa.pub >> /root/.ssh/authorized_keys

(4)、在主機(jī)192.168.10.11上驗(yàn)證是否能夠成功ssh到主機(jī)192.168.10.13上,如圖7所示

blob.png
          圖7、成功ssh到主機(jī)192.168.10.13

2、指定可以登錄的主機(jī)和不可以登錄的主機(jī)

(1)方法一、修改文件/etc/hosts.allow和/etc/hosts.deny

1、修改主機(jī)192.168.10.13的文件/etc/hosts.allow和/etc/hosts.deny

在文件/etc/hosts.allow添加一條允許主機(jī)192.168.10.11 ssh的記錄,如圖8所示

blob.png
                圖8、允許主機(jī)192.168.10.11 ssh

在文件/etc/hosts.deny添加一條拒絕主機(jī)192.168.10.12 ssh的記錄,如圖9所示

blob.png
              圖9、拒絕主機(jī)192.168.10.12 ssh

2、驗(yàn)證

在主機(jī)192.168.10.11上驗(yàn)證成功ssh到主機(jī)192.168.10.13上,如圖10所示

blob.png
    圖10、主機(jī)192.168.10.11成功ssh到主機(jī)192.168.10.13

在主機(jī)192.168.10.12上驗(yàn)證不能ssh到主機(jī)192.168.10.13上,如圖11所示

blob.png
      圖11、主機(jī)192.168.10.12不能ssh到主機(jī)192.168.10.13

(2)方法二、修改文件/etc/ssh/sshd_config

1、修改文件/etc/ssh/sshd_config,在最后面添加如圖12所示的兩行,然后重啟sshd服務(wù)

blob.png
圖12、添加的內(nèi)容

說明:

AllowUsers root@192.168.10.11 ##允許主機(jī)192.168.10.11 ssh登錄

DenyUsers root@192.168.10.12 ##禁止主機(jī)192.168.10.12 ssh登錄

2、驗(yàn)證

在主機(jī)192.168.10.11上驗(yàn)證成功ssh到主機(jī)192.168.10.13上,如圖13所示

blob.png
      圖13、主機(jī)192.168.10.11成功ssh到主機(jī)192.168.10.13

在主機(jī)192.168.10.12上驗(yàn)證不能ssh到主機(jī)192.168.10.13上,如圖14所示

blob.png
    圖14、主機(jī)192.168.10.12不能ssh到主機(jī)192.168.10.13

3、查看Linux日志中有關(guān)ssh登錄成功和登錄失敗的日志

ssh的日志存放在文件/var/log/ secure里

例如:

查看ssh登錄失敗的日志,如圖15所示

blob.png
                 圖15、ssh登錄失敗日志

查看通過RSA成功ssh的日志,如圖16所示

blob.png
              圖16、通過RSA成功ssh的日志

五、在SecureCRT上配置公鑰的方法

在SecureCRT上配置公鑰的方法:

1、首先生成公鑰。

打開SecureCRT程序,點(diǎn)擊菜單欄的“工具”-》“創(chuàng)建公鑰”。按照步驟執(zhí)行。其中一步比較重要就是選擇公鑰的格式。建議選擇“OpenSSH”,否則在服務(wù)器端使用時需要轉(zhuǎn)換為OpenSSH格式。如果選錯了。重新生成一次就可以了。然后選擇公鑰私鑰存放的地方。默認(rèn)Identity是私鑰,Identity.pub是公鑰。

2、把Identity.pub文件上傳到你要登陸的Linux服務(wù)器上。方法有很多,比如ssh(先不要配置為公鑰登陸),ftp等。上傳時選擇ASCII方式。

3、在SecureCRT創(chuàng)建服務(wù)器連接。協(xié)議使用ssh。在“鑒權(quán)”方法中,取消勾選“密碼”。選擇“公鑰”,然后點(diǎn)擊右邊的屬性按鈕,在對話框中。

使用全局公鑰設(shè)置:表示所有連接都使用該公鑰連接服務(wù)器。

使用會話公鑰設(shè)置:可以分別為每個連接指定不同的公鑰。

下面的路徑就是指明私鑰的具體路徑。注意了,這里要指明私鑰的路徑。

保存連接就可以了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容