Linux系列之SSH無密碼登入

2021-10-02 08:45:28 字數 2010 閱讀 3858

2.3秘鑰登入

3.在服務端將客戶端的公鑰加入到授權列表

4. scp詳解

ssh全稱secure shell,用來取代傳統telnet和r系列命令(rlogin,rsh,rexec等)遠端登陸和遠端執行命令的工具。

ssh是一種加密協議,不僅在登陸過程中對密碼進行加密傳送,而且對登陸後執行的命令的資料也進行加密,即使別人在網路上監聽並截獲了你的資料報,並看不到其中的內容。

ssh服務都是由軟體openssh來提供的。絕大多數linux安裝包已自帶。

openssh已經是大多數linux作業系統的標準元件,不需要二次安裝

2.2.1定義

客戶端發出授權請求時,服務端要求輸入密碼進行驗證授權

2.2.2工作原理

2.2.3執行流程

2.2.4演示示例

客戶端a為centos例項172.168.0.3,伺服器端b為centos例項172.168.0.4

從客戶端a發起鏈結服務b,接收端伺服器端b返回公鑰的加密值

輸入密碼驗證身份

2.3.1 定義

客戶端發出授權請求時,服務端根據事先配置的金鑰驗證身份並授權

2.3.2 工作原理

a client-server打通公鑰傳遞

b client 登入 server

2.2.3執行流程

客戶端a為centos例項172.168.0.3;服務端b為centos例項172.168.0.4。

生成秘鑰對 :ssh-keygen -t rsa(一直回車)

檢視是否生成: ll ~/ .ssh/

展示結果:

id_rsa 私鑰

id_rsa.pub 公鑰

2.將公鑰以安全的方式傳遞到伺服器端
1.登入伺服器端: ssh 使用者名稱@ip

2.傳送公鑰到伺服器端

方法一:

1.將客戶端生成的公鑰先儲存到本地:

sz ~/ .ssh/id_rsa.pub

2.將儲存到本地的公鑰上傳到服務端

rz -bye ~/ .ssh/id_rsa.pub

方法二:

scp -p 22 ~/ .ssh/id_rsa.pub 使用者名稱@ip

(客戶端的ip)

cat id_rsa.pub >> ~/ .ssh/authorized_keys

-client 登入 server

a) 客戶端發出遠端登入請求:ssh 使用者名稱@伺服器主機名或者ip

b) 服務端檢視是否有該客戶端的公鑰,如果有服務端生成隨機字串,並用公鑰加密(就是隨機字串與公鑰作某種運算),傳送給客戶端。

c) 客戶端使用本地的私鑰對字串解密(逆運算)。

d) 客戶端將解密後的字串結果傳送給服務端。

e) 服務端將解密的字串與原始字串匹配,如果相等則驗證通過,並授權客戶端可以登陸。

scp就是secure copy,用來在linux下進行遠端拷貝檔案到本地,或者從本地拷貝檔案到遠端的命令。

從本地檔案拷貝至遠端

[格式]:scp -p 遠端ssh服務埠 本地檔案路徑

遠端主機賬戶@遠端主機ip位址或網域名稱:要拷貝到遠端主機的路徑

[示例]:scp -p 22 ~/input.txt [email protected]:~/

從遠端拷貝檔案到本地

[示例]:scp -p 22 [email protected]:~/input.txt ~/

使用ssh keygen實現SSH無密碼登入

假設 server node001 192.168.189.33 server node002 192.168.189.34 實現 node001和node002 互相免密匙 要點 要是 cd 後ls al 發現沒有.ssh資料夾只需要在本機ssh node001 即可自動生成.ssh資料夾 要對哪...

linux之ssh無密碼訪問

1.windows下用putty執行ssh連線vmware中的linux虛擬機器 linux虛擬機器的網路選擇bridge模式,ifconfig 看到ip後與windows local machine之間相互ping,ping通了就可以putty用ssh連線了。注意 etc ssh sshd con...

linux之ssh無密碼訪問

1.windows下用putty執行ssh連線vmware中的linux虛擬機器 linux虛擬機器的網路選擇bridge模式,ifconfig 看到ip後與windows local machine之間相互ping,ping通了就可以putty用ssh連線了。注意 etc ssh sshd con...