【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
***********禁止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'