1. 程式人生 > >SSH(遠端登入)

SSH(遠端登入)

在linux中SSH服務對應兩個配置檔案:

 

 

ssh特點:在傳輸資料的時候,對檔案加密後傳輸。

ssh作用:為遠端登入會話和其他網路服務提供安全性協議。

 

ssh小結:

  1、SSH是安全的加密協議,用於遠端連線伺服器。

  2、SSH預設埠是22,安全協議版本有SSH2、SSH1。(SSH1有漏洞)

  3、SSH服務端主要包含兩個服務功能SSH遠端連線和SFTP服務。

  4、Linux SSH客戶端包含ssh遠端連線命令,以及遠端拷貝scp命令等。

 

ssh服務有如下兩個工具:

 

***服務端或客戶端版本不相同是連線不上的***

 

客戶端連線服務端基本口令(-p指定埠,不加為預設埠):

  ssh -p22 [email protected]ssh [email protected]

 

linux通訊驗證所在地(等第一次登入時會在本地殘生一個祕鑰檔案~/.ssh/known_hosts【多個祕鑰】):

cd ~/.ssh/

 

SSH預設登入檔案相關引數配置

相關引數說明(/etc/ssh/sshd_config):

port  :指定sshd程序監聽的埠號,預設為22.可以使用多條指令多個埠。預設為22,可以使用多條指令監聽多個埠。預設將在本機的所有網路介面上監聽,但是可以通過ListenAddress指定只在特點的介面上監聽。

PermitEmptyPasswords  :是否允許密碼為空的使用者遠端登入。預設為“no”。

PermitRootLogin  :是否允許root登入。可用值如下:“without-password”表示使用密碼認證登入。“forced-commands-only”表示只有指定了command選項的情況下允許使用公鑰認證登入。同時其它認證方法全部禁止。這個值常

          用語遠端備份之類的事情。(為了安全:不允許root使用者登入,但可以登入普通使用者使用sudo來執行相應的root命令)

UseDNS  :指定sshd是否應該對遠端主機名進行方向解析,以檢查此主機名是否與其IP地址真實對應。預設值為“yes”。

 

在SSH服務中含有有SCP遠端拷貝服務:

  SCP為遠端拷貝檔案或目錄的命令(命令介紹):

-P(大寫)  :接介面號,SSH預設埠為22,如果埠為22可以省略。

-r  :遞迴,表示拷貝目錄。

-p(小寫)  :表示在拷貝前後儲存檔案或目錄屬性。

-l  :(limit)限速。

 

例子:

  scp -P22 -rp /etc [email protected]:/tmp

也可實現rsync的推拉操作(例子):

  推:scp -P22 -rp /etc [email protected]:/tmp

  拉:scp -P22 -rp [email protected]:/tmp/etc /data

  限速:scp -P22 -rp -l 10 /etc [email protected]:/tmp

 

scp小結:

  1、scp是加密的遠端拷貝,而cp僅為本地拷貝。

  2、可以把資料從一臺機器推到另一臺機器,也可以從其它伺服器吧資料拉回到本地執行命令執行命令。

  3、每次都是全量完整拷貝,因此,效率不高,適合一次性拷貝用,如果需要增量拷貝,用rsync。

 

SSH服務附帶的sftp功能服務

winds客戶端與linux伺服器之間的傳輸資料工具:

  1、rz、sz(lrzsz)

  2、winscp WinSCP-4.0.5(基於SSH,SFTP)

  3、SFX(xshell)

  4、SFTP(基於SSH,加密傳輸)

  5、samba,http,ftp,nfs

    FTP工具:vsftp、proftpd、SFTP

 

sftp客戶端連線sftp服務方法(不安全):

  1、sftp -oPort=22 [email protected]  #l連線埠

  2、cd /home/oldboy  #可以切換指定的目錄

  3、put /etc/hosts  #把/etc/hosts客戶端本地傳輸到sftp伺服器當前連線的目錄

  4、mkdir /tmp/ett  #也可以建立目錄

  5、get /etc/hosts /home  #可以下載檔案(不指定位置預設下載到原登入時的目錄位置)

 

使用金鑰認證的方法步驟:

  1、啟動公鑰認證:

    修改配置檔案/etc/ssh/sshd_config,將“PasswordAuthentication yes”修改為“PasswordAuthentication no”。

  2、生成金鑰:

    ssh-keygen -t rsa

  3、將/root/.ssh/id_rsa.pub檔名改為/root/.ssh/authorized_keys

 

  4、將私鑰id_rsa拷貝到客戶機即可(linux下可以拷貝/root/.ssh/就可以直接使用)

 

以上服務小結:

  1、ssh為加密的遠端連線協議。相關軟體有openssh、openssl。

  2、預設埠號為22.

  3、服務端ssh遠端連線服務,sftp服務,sshd後湖程序,開機要自啟動。

  4、ssh客戶端包含ssh、scp、sftp命令

  5、ssh安全驗證方式:口令和金鑰,這兩種都是基於口令和ssh金鑰登入的原理。

  6、ssh服務安全優化,修改預設埠22,禁止root遠端連線,禁止dns,SSH只監聽內網IP。

  7、ssh金鑰對,公鑰在伺服器端,比喻就是鎖頭,私鑰在客戶端,比喻就是鑰匙。