ssh服務簡介

1.聯機加密技術簡介:shell

    公鑰:提供給遠程主機進行數據加密的行爲,也就是說,你們都能取得你的公鑰來將數據加密。安全

    私鑰:遠程主機使用的你的公鑰加密的數據,在本地端可以使用私鑰來進行解密。因爲私鑰是這麼的重要,所以私鑰是不可以外流的,只能保存在本身的主機上。服務器

    因爲每部主機都應該有本身的密鑰(主機的公鑰和本身的私鑰),且公鑰用來加密而私鑰用來解密,其中私鑰不可外流。但由於網絡聯機是雙向的,因此,每一個人應該都要有對方的公鑰纔對。網絡

2.目前ssh的版本有兩種,version1version2,其中version2加上了聯機檢測機制,能夠避免聯機期間被插入惡意的***碼,所以比version1更加安全。ssh

3.ssh聯機行爲簡介ide

    聯機步驟:ui

    1)  服務器創建公鑰檔:每次啓動sshd服務時,該服務會主動去找/etc/ssh/ssh_host*的檔案,若系統剛剛安裝完成時,因爲沒有這些公鑰檔案,所以sshd會主動去計算出這些須要的公鑰檔案,同時也會計算出服務器本身須要的私有檔案。加密

    2)  客戶端主動聯機的要求:若客戶端想要聯機到ssh服務器,則須要使用適當的客戶端程序來聯機,包括sshpietty等客戶端程序spa

    3)  服務端傳送公鑰給客戶端:接收到客戶端的要求後,服務器便將第一個步驟取得的公鑰檔案傳送給客戶端使用(此時應是明碼傳送)。server

    4)  客戶端記錄比對服務端的公鑰數據及隨機計算本身的公私鑰:若客戶端第一次鏈接到此服務器,則會將服務器的公鑰數據記錄到客戶端的用戶家目錄內的~/.ssh/known_hosts。如果已經記錄過該服務器的公鑰數據,則客戶端會去比對這次接收到的與以前的記錄是否有差別。若接受此公鑰數據,則開始計算客戶端本身的公私鑰數據。

    5)  回傳客戶端的公鑰數據到服務器端:用戶將本身的公鑰傳送給服務器。此時服務器具備服務器的私鑰和客戶端的公鑰,而客戶端則是具備服務端的公鑰以及客戶端本身的私鑰,因爲服務器端和客戶端的密鑰系統(公鑰+私鑰)並不同,因此也被叫作非對稱式密鑰系統

    6)  開始雙向加密:服務器到客戶端,服務器傳送數據時,拿用戶的公鑰加密後送出,客戶端接收後,用本身的私鑰解密;客戶端到服務器端,客戶端傳送數據時,拿服務器的公鑰加密後送出,服務器接收後,用服務器的私鑰解密。

整個過程如圖所示:

    wKioL1T3wszgMUenAAGQwm8m2s4066.jpg

    由上可知,客戶端的密鑰是隨機運算產生於本次聯機當中的,因此你此次的聯機與下次的聯機的密鑰可能會不同。此外在客戶端的家目錄下(~/.ssh/known_hosts)會記錄曾經聯機過的主機的public key,用以確認咱們是連上正確的那部服務器。

4.產生新的服務端公鑰和私鑰的方法是:刪除/etc/ssh/ssh_host*文件,而後重啓sshd服務。

5.ssh提供shellssh-ftp  server兩項服務。默認使用的端口都是22

6.ssh  [–f] [-o 參數項目]  [ -p 非正規端口]  [帳號@]IP  [指令]:直接登入遠程主機的指令,參數,

    1-f:須要配合後面的指令,不登入遠程主機直接發送一個指令過去而已

    2-o:參數項目:主要的參數項目有,

             ConnectTimeout=秒數:聯機等待的秒數,減小等待的時間

             StrictHostKeyCheking=[yes|no|ask]:預設是ask,若讓public key主動加入known_hosts,則能夠設定爲no便可

    3-p:設定登陸的端口(在使用非默認端口時,有用)

    4[指令]:與-f結合,在不登入主機的前提下,向主機發送的指令,此種方式指令會在主機上運行,客戶端和服務器的連接已斷開,即不會出現客戶端卡頓的狀況,若不加f,則須要等指令執行完後,客戶端纔會響應。

     5)當未指定帳號登陸時,會以當前帳號登陸主機。

7.遠程主機因爲系統重裝,或刪除/etc/ssh/ssh_host*文件等緣由形成服務端主機公鑰變化後,會形成客戶端沒法鏈接主機。解決方法是將~/.ssh/known_hosts文件中對應的行刪掉,而後從新鏈接。

8.sftp 用戶名@主機IP或域名:使用ssh的通道進行文件的上傳和下載。支持的指令有:

    1)cd:切換目錄

    2)ls:顯示目錄下的文件

    3)mkdir:建立目錄

    4)rmdir:刪除目錄

    5)pwd:顯示目前的路徑

    6)chgrp:修改檔案或目錄的羣組

    7)chown:修改檔案或目錄的擁有者

    8)chmod:修改檔案或目錄的權限

    9)ln oldnamenewname:創建鏈接檔

    10)rm Path:刪除檔案或目錄

    11)renameoldname newname:更改檔案或目錄名稱

    12)exitbyequit:離開遠程主機

    13)針對本機的行爲都加上l(localhost的首字母),如lcdlls等。

    14)put [本機目錄或檔案] [遠程]:將檔案由本機上傳到遠程主機上,若是不指定遠程主機的目錄,將放在目前遠程主機的目錄下

    15)get [遠程主機目錄或檔案] [本機]:將檔案由遠程主機下載下來,若不指定本機目錄,則檔案將放在目前本機所在的目錄當中。

9.scp [-pr] [-l 速率]  file  [帳號@ ]主機:目錄名:上傳;

scp [-pr] [-l 速率]  [帳號@ ]主機:file  目錄名:下載;參數,

    1)-p:保留本來檔案的權限數據

    2)-r:複製來源爲目錄時,能夠複製整個目錄(包含子目錄)

    3)-l:能夠限制傳輸速度,單位是Kbits/seg-l 800表明100KBytes/s

相關文章
相關標籤/搜索