1. 程式人生 > >(11)ssh免密登錄配置

(11)ssh免密登錄配置

客戶 虛擬 標識 私鑰 -i 提示 原來 虛擬機 scp

***在Linux命令行中登錄到另一臺虛擬機(需要用到ssh協議)

Linux中默認有ssh的服務器端和客戶端,客戶端的名字就叫ssh

前提是當前使用的用戶名在待連接的虛擬機中存在

格式: ssh ip地址

exit 返回原來的機器(登錄到另一臺機器會進入一個新的會話,使用exit命令返回原來的會話)

***把本機器上的文件拷貝到另一臺機器上去

scp 文件名 用戶名(可以不是當前用戶,表示以哪個用戶的身份進行拷貝)@ip地址:拷貝的目標目錄

上述過程需要人手動輸入密碼,不利於過程的自動化。因此要配置ssh免密登錄。

ssh免密登錄的原理:

SSH(遠程登錄的安全外殼協議)有兩種身份驗證機制:1.用戶名+密碼驗證 2.密鑰驗證

為了避免輸入密碼,我們使用第二種方式(免密)

假設主機A要免密登錄主機B

在A上生成密鑰對(公鑰和私鑰),在公鑰中包含了本用戶和主機的身份標識。A將公鑰文件發送到B中,並拷貝到B的授權列表中,以後A登錄B就使用密鑰驗證方式而不需要使用密碼了。

SSH免密登錄的會話過程:

主機A進行ssh命令時,會把自己的身份標識發送給主機B,B從授權列表中查詢是否有相應的公鑰,然後

生成隨機字符串用該公鑰加密後返回給A,A用私鑰解密,把解密後的明文發送給B,B驗證後便允許A登錄

******配置主機之間的免密ssh登陸
假如 A 要登陸 B
在A上操作:
%%首先生成密鑰對
ssh-keygen (提示時,直接回車即可)

%%再將A自己的公鑰拷貝並追加到B的授權列表文件authorized_keys中
ssh-copy-id B

之後A使用ssh登錄B就不再需要密碼了

(11)ssh免密登錄配置