一.什么是SSH連接
SSH為Secyre Shell的縮寫,SSH 為建立在應用層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。且SSH連接可以通過多種平台上使用。
傳統的網絡服務程序,如FTP,POP以及TELNNET在本質上都是不安全的,都可以隨意的被中間人截取和攻擊,但是通過SSH可以將你的數據進行加密,還有一個額外的好處就是他的數據都是進行壓縮處理的,所以傳輸速度也會有所提升。
SSH提供兩種安全驗證:
第一種:基於口令安全驗證:只要你知道自己的賬號和口令就可以登錄到遠程的主機。
第二種:需要依靠密匙,也就是你必須為自己創建一對密匙,並把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之后,先在該服務器上你的主目錄下尋找你的公用密匙,然后把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”(challenge)並把它發送給客戶端軟件。客戶端軟件收到“質詢”之后就可以用你的私人密匙解密再把它發送給服務器。用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。第二種級別不僅加密所有傳送的數據,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。
二。linux之間的SSH連接
1.首先要配置好SSH的設置以及激活SSH
我們輸入:sudo ps -e | grep ssh(dpkg -l | grep ssh也可以)來看是否有SSH進程,如果輸入沒有響應,就是沒有SSH進程,一般系統都默認沒有服務器的安裝,所以我們首先需要安裝服務端才可以來連接,下面附上安裝的教程:
https://jingyan.baidu.com/article/ff411625b20a0512e48237b9.html
2.連接遠程主機:
我們只用在自己的機器上安裝客戶端就好,
輸入:ssh 服務器名字@服務器IP -p 端口號 ,默認的一般情況下端口號都為22,所以可以不加-p后面的內容,然后輸入客戶機的密碼就可以連接了。
如果想要退出直接用ctrl+d,或是輸入exit.
3.通過SSH下載遠程終端文件,或是上傳遠程終端文件
一定要記得這個時候不用和遠程主機保持連接的狀態,也就是說現在你是在用本地的IP進行操作的,然后我們再來看看下面的:(如果要傳輸文件一定要加上-r,如果要操作的遠程主機的SSH端口號不是22,那么一定記得加上-P(這里的p是個大寫的))
scp -r username@remote_ip:/home/username/remotefile /home/yskn //這個是將遠程主機的文件夾下載到本地的文件 scp -r /home/yskn/file username@remote_ip:/home /username/remotefile //這個是將本地文件上傳到服務器上 scp -P 端口 -r username@remote_ip:/home/username /remotefile /home/yskn //這個是將不是默認端口22的遠程主機的文件夾下載到本地