萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Linux安全攻略之SSH服務連接時的常見問題與解答

Linux安全攻略之SSH服務連接時的常見問題與解答

   什麼是SSH呢?

  SSH的英文全稱是Secure SHell。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣"中間人"這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額 外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一 個安全的"通道"。SSH客戶端與服務器端通訊時,用戶名及口令均進行了加密,有效防止了對口令的竊聽。最初SSH是由芬蘭的一家公司開發的。但是因為受 版權和加密算法的限制,現在很多人都轉而使用OpenSSH。OpenSSH是SSH的替代軟件,而且是免費的,可以預計將來會有越來越多的人使用它而不 是SSH。SSH是由客戶端和服務端的軟件組成的。SSH安裝容易、使用簡單,而且比較常見,一般的Unix系統、Linux系統、FreeBSD系統都 附帶有支持SSH的應用程序包。

  SSH的安全驗證是如何工作的?

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

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

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

  用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。

  第二種級別不僅加密所有傳送的數據,而且"中間人"這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。

  命令的格式

  首先、確保server端的ssh服務是開的(service shhd start)

  然後在client端輸入:ssh usrname@serverip (遠程登錄)

  scp filename usrname@serverip:/URL (遠程傳輸)

  常出現的問題:

  問題一

  ssh登錄的時候鏈接端口失敗

  提示(1):

  # ssh 172.16.81.221

  ssh: connect to host 172.16.81.221 port 22: No route to host

  這由於server端沒有開機或是網絡不通(這個原因很多,最簡單的是網線沒有插。還有就是可能會是網卡down了等)

  提示(2):

  # ssh [email protected]

  ssh: connect to host 172.16.81.221 port 22: Connection refused

  這是由於對方server的ssh服務沒有開。這個server端開啟服務即可。

  問題二、

  ssh到server上的時候密碼是對的但是報如下信息:

  # ssh 172.16.81.221

  [email protected]'s password:

  Permission denied, please try again.

  這個是由於如果不輸入用戶名的時候默認的是root用戶,但是安全期間ssh服務默認沒有開root用戶的ssh權限

  解決方法:

  要修改root的ssh權限,即修改/etc/ssh/sshd_config文件中

  PermitRootLogin no 改為PermitRootLogin yes

  問題三

  登錄是出現如下提示:

  ssh [email protected]

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

@@@@@@@@

  @ 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.

  The fingerprint for the RSA key sent by the remote host is

  76:fb:b3:70:14:48:19:d6:29:f9:ba:42:46:be:fb:77.

  Please contact your system administrator.

  Add correct host key in /home/fante/.ssh/known_hosts to get rid of this

  message.

  Offending key in /home/fante/.ssh/known_hosts:68

  RSA host key for 172.16.81.221 has changed and you have requested strict checking.

  Host key verification failed.

  server端密碼或是其他發生改變的時候。解決方法一般就需要刪除~/.ssh/known_hosts的對應行,然後再登錄即可。

copyright © 萬盛學電腦網 all rights reserved