1. 程式人生 > >【linux】--- ssh,scp及免密配置

【linux】--- ssh,scp及免密配置

1.ssh協議

ssh是一種網路協議,是一種遠端登入的安全外殼協議,用於計算機之間的加密登入

可用於linux機器之間的傳輸

有兩種身份驗證機制:

①:使用者名稱+密碼驗證

②:金鑰驗證

2.如果想從一臺機器上登入到另一臺機器,就需要用ssh協議

ssh 機器IP  預設使用root使用者,使用exit退出

常用格式:ssh [-l login_name] [-p port] [[email protected]]hostname
更詳細的可以用ssh -h檢視。

***********指定使用者:

  ssh -l root 192.168.198.10

  ssh [email protected]

***********禁止root使用者登入:vim /etc/ssh/sshd_config

找到#PermitRootLogin yes,去掉註釋,修改為:

  PermitRootLogin no

***********修改埠:  vim/etc/ssh/sshd_config

找到#Port 22,去掉註釋,修改成一個五位的埠:

  Port 12222

如果修改過ssh登入埠的可以:

  ssh -p 12222 192.168.198.10

  ssh -l root -p 12222 192.168.198.10

  ssh -p 12222 [email protected]

*********重啟sshd服務:

  service sshd restart

3.實現遠端檔案拷貝

****** scp  伺服器之前的檔案複製

4.免密實現

1.【B授權列表找】每次訪問時,B會根據A的使用者名稱去自己的授權列表authorized_keys裡面去找 [email protected]

2.【驗證】但也有可能會有機器拿著公鑰冒充[email protected],此時就需要驗證下是不是他

3.【生成隨機字串,用A的公鑰加密後傳送給A】此驗證過程就是B生成一個隨機字串,並且用A的字串對其加密,然後傳送給A

4.【A用自己的私鑰對其解密後傳送給B】A用自己的私鑰對字串進行解密,然後傳送給B

5.【B進行匹配驗證】B用該字串和自己的傳送的字串進行匹配驗證

****第一步:A生成公鑰和私鑰

ssh-keygen -t rsa                #預設使用rsa加密演算法

#,預設路徑/home/hadoop/.ssh/id_rsa

******第二步:將A生成的公鑰拷貝到B,並且註冊到B的authorized_keys中

ssh-copy-id  主機名

*******第三步:在B下去查詢

先查詢該授權檔案  find / -name 'authorized_keys'