ssh服務及簡單應用


SSH主要功能及概要:
   1、SSH主要提供兩個服務:一個是提供類似telnet遠程聯機服務器的服務,另一個是類似FTP服務的sftp-server,借助SSH協議來傳輸數據的,提供更安全的SFTP服務。
   2、默認端口是22,安全協議版本是SSH2
   3、服務端主要包含兩個服務功能ssh遠程連接,SFTP服務
   4、ssh客戶端包含ssh連接命令,以及遠程拷貝scp命令sftp命令等
SSH結構:
   SSH服務由服務端軟件openssh和客戶端(常見客戶端:SSH,CRT,putty,xshell)組成,SSH服務默認使用22端口提供服務,它有兩個不兼容的SSH協議版本,分別是1.x和2.x
加密機制:通過密鑰機制的
   1.客戶端連接服務端,服務端發送密鑰
   2.客戶端生成密鑰然后整合服務端密鑰,形成新的密鑰
   3.通過密鑰對解密進行交流
配置文件:/etc/ssh/sshd_config
SSH1.X整個聯機加密步驟:
   1.當ssh服務啟動的時候,就會產生一個768-bit的臨時公鑰(sshd_config配置文件中)存放在server中
   2.當client端SSH聯機請求傳送過來時,服務器就將這個密鑰發給客戶端,客戶端就會對比現在的公鑰與之前存儲的公鑰,看是否一樣。判斷標准時客戶端聯機用戶目錄下~/.ssh/known-hosts文件的內容(Linux客戶端)
   3.客戶端收到后再自己生成一個256-bit的私鑰,並將私鑰與公鑰整合成一對完整的密鑰,再傳給服務端
   4.完成以后,服務與客戶端就以這對1024-bit的密鑰進行數據的傳遞
   SSH1.X是不安全的,當他第一次收到共享密鑰對后,就不再檢查,所以內容可能會被截獲並修改
SSH2.X整個聯機加密步驟:
   其他與SSH1.X一樣,就是多加了一個確定聯機正確性的Diffie-Hellman機制,在每次傳輸數據中,服務端都會用該機制檢查數據的來源是否正確
SSH的服務認證類型:
   1、基於口令的安全驗證:
      基於口令的安全驗證的方式就是大家現在一直在用的,只要知道服務器的SSH連接賬號和口令(當然也要知道對應服務器的ip及開放端口),就一顆通過ssh客戶端登陸到這台遠程主機。
      Linux中兩個服務器之間連接:ssh -p端口號   用戶名@ip地址
              ssh -p23         zr@192.168.1.1
   2、基於密鑰的安全驗證:
      基於密鑰的安全驗證方式是指,需要依靠密鑰,也就是必須事先建立一對密鑰對,然后把公用密鑰放在需要訪問的目標服務器上,另外,還需要把私有密鑰放到ssh的客戶端或對應的客戶端上。
     此時,如果要想連接到這個帶有公用密鑰的SSH服務器,客戶端SSH軟件或者客戶端服務器就會向SSH服務器發出請求,請求用聯機的用戶密鑰進行安全驗證。SSH服務器收到請求之后,會先在該SSH服務器上連接的用戶的家目錄下尋找事先放,上去的對應用戶的公用密鑰,然后把它和連接的SSH客戶端發送過來的公用密鑰進行比較。如果兩個密鑰一致,SSH 服務器就用公用密鑰加密“質詢”( challenge)並把它發送給SSH客戶端。
      SSH客戶端收到“質詢”之后就可以用自己的私匙解密,再把它發送給SSH服務器。使用這種方式,需要知道聯機用戶的密鑰文件。與第-種基於口令驗證的方式相比,第二種方式不需要在網絡上傳送口令密碼,所以安全性更高了,這時我們也要注意保護我們的密鑰文件,特別是私鑰文件,一旦被黑客獲取,危險就很大了。I
給一個端口如何查看:lsof -i :22   或者是 netstat -lntup|grep 22
SSH服務的安全優化:
      修改配置文件sshd_config:
               修改默認端口:Port     52113
               禁止遠程登陸root:Permi tRootLogin no
               禁止空密碼登陸:Permi tEmptyPasswords no
               不使用DNS:UseDNS no
               加速連接:百度去
示例:Linux客戶端通過ssh連接: 

ssh -p22 zr@192.168.157.132 #語法基本格式

   在ip地址后面還可以執行簡單的命令比如:

 

ssh -p 22 zr@192.168.157.132     /sbin/ifconfig #注意命令需要全路徑,並且此操作不會切到別的用戶上去

    當提示拒絕連接的時候:1、查看ssh連接的端口

              2、查看ip地址是否正確
              3、ssh服務是否開啟
   當第一次連接的時候,本地會產生一個密鑰文件~/.ssh/known_hosts
SSH客戶端附帶的遠程拷貝命令scp命令:注意這里參數-P是大寫
     scp 的基本語法使用:scp - secure copy
     scp -P22 要拷貝的文件  zr@192.168.157.132:/接目錄
     拉文件:scp -P22  zr@192.168.157.132:/接文件    放到哪里
SSH服務附帶的sftp功能服務:
     sftp -oPsrt=端口號  zr@192.168.157.132 就能連上啦默認連接的的目錄是對象的家目錄
      參數:put可以上傳文件    get可以下載文件
      

put  /etc/hosts   /temp/#把/etc/hosts從客戶端本地傳到sftp服務器指定的目錄/temp下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM