歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 用SSH KEY遠程登錄

用SSH KEY遠程登錄

日期:2017/2/28 17:13:54   编辑:Linux教程

1.

Publick Key認證簡介 Public Key認證的主要魅力在於認證時承諾不必提供密碼就能夠同遠程系統建立連接。Public Key認證的基礎在於一對密鑰,public key 和private key,public key對數據進行加密而且只能用於加密,private key

只能對所匹配的public key加密過的數據進行解密。

我們把public key放在遠程系統合適的位置,然後從本地開始進行ssh連接。此時,遠程的sshd會產生一個隨機數並用我們產生的public key進行加密後發給本地,本地會用private key進行解密並把這個隨機數發回給遠程系統。最後,遠程系統的sshd會得出結論我們擁有匹配的private key允許我們登錄。

制造密鑰用putty套裝的puttygen來產生密鑰。密鑰的類型建議選擇SSH2 RSA,因為用的最為廣泛,大多數server支持。密鑰的位數選擇1024對大多數用戶已經足夠,除非你覺得還是不安全。然後點擊"Generator",此時密鑰生成當然也有幾個選項出現。如果你有不止一個key,你可以在“Key comment”作注釋用於區別其他的key。 “Key passphrase“和“Confirm passphrase“用於對硬盤上的key進行加密,如過你自己一個人用機器覺得安全有保障的話可以讓它們為空。然後保存兩個key。不要關掉puttygen,它還有用呢。

輸送public key到遠程系統在遠程系統自己的目錄下建立目錄".ssh",然後進入目錄建立一個新文件authorized_keys ,然後把puttygen中"Public key for pasting into authorized_keys file"粘貼於authorized_keys這個文件中。然後執行以下命令:

chmod 700 $HOME/.ssh chmod 600

$HOME/.ssh/authorized_keys chmod g-w $HOME $HOME/.ssh

$HOME/.ssh/authorized_keys

測試執行putty,建立一個session命名為ssh,設定ip,協議設為ssh,Connection設定ssh的 auth中,private key的文件選擇為puttygen產生的密鑰。連接開始後,要求輸入username,遠程系統開始public key認證,如果密鑰有passphrase 則需要輸入,否則直接就登錄了。

2.

如果是linux,也可以用openssh自帶的密鑰產生工具:ssh-keygen

ssh-keygen -t rsa ???

ssh-keygen -d #生成公鑰和私鑰,此過程可以選擇輸入私鑰密碼

cat .ssh/id_dsa.pub | ssh user@remote “cat - >>.ssh/authorized_keys” #將公鑰寫到服務器

ssh-agent $SHELL

ssh-add

如果你設了私鑰密碼,此時輸入你的私鑰密碼。

Copyright © Linux教程網 All Rights Reserved