什麼是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
第二種級別(基於密匙的安全驗證)須要依靠密匙,也就是你必須爲本身建立一對密匙,並把 公用密匙放在須要訪問的服務器上。若是你要鏈接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求以後,先 在你在該服務器的家目錄下尋找你的公用密匙,而後把它和你發送過來的公用密匙進行比較。若是兩個密匙一致,服務器就用公用密匙加密"質詢" (challenge)並把它發送給客戶端軟件。客戶端軟件收到"質詢"以後就能夠用你的私人密匙解密再把它發送給服務器。this
用這種方式,你必須知道本身密匙的口令。可是,與第一種級別相比,第二種級別不須要在網絡上傳送口令。加密
第二種級別不只加密全部傳送的數據,並且"中間人"這種攻擊方式也是不可能的(由於他沒有你的私人密匙)。可是整個登陸的過程可能須要10秒。server
命令的格式ip
首先、確保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 work@172.16.81.221
ssh: connect to host 172.16.81.221 port 22: Connection refused
這是因爲對方server的ssh服務沒有開。這個server端開啓服務便可。
問題2、
ssh到server上的時候密碼是對的可是報以下信息:
# ssh 172.16.81.221
root@172.16.81.221's password:
Permission denied, please try again.
這個是因爲若是不輸入用戶名的時候默認的是root用戶,可是安全期間ssh服務默認沒有開root用戶的ssh權限
解決方法:
要修改root的ssh權限,即修改 /etc/ssh/sshd_config文件中
PermitRootLogin no 改成 PermitRootLogin yes
問題三
登陸是出現以下提示:
ssh root@172.16.81.221
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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的對應行,而後再登陸便可。
(責任編輯:雲子)