linux下生成key


使用public/private key讓putty(ssh)自動登錄(以及linux上使用密鑰做ssh自動登陸) 

方法一:使用puttygen.exe 

 

第一步:生成密匙 

運行puttygen.exe,選擇需要的密匙類型和長度,使用默認的SSH2(RSA),長度設置為1024就可以了。 

passphrase可以為空,免得登錄時還是要輸入一次密碼。 

 

點擊Save private key 按鈕保存公匙和私匙,例如key.ppk,public key不用保存,以后使用Puttygen.exe Load功能就可以顯示public key。 

 

第二步:上傳密匙 

用自己的帳號登錄linux主機,然后執行下面的命令: 

$ cd ~ 

$ mkdir .ssh 

$ chmod 700 .ssh 

$ cd .ssh 

$ cat > authorized_keys 

(復制puttygen public Key 文本框內的內容,按 Ctrl+C 復制到剪貼板中。以前產生的key,那么使用load 功能,就可以顯示public key了,然后在Putty窗口中按Shift+Ins粘貼) 

(再按Ctrl+D鍵,完成文件的創建) 

$ chmod 600 authorized_keys 

 

第三步:設置Putty 

1) 啟動Putty,設置好session的各項參數(如果以前已經設置過,那么load一下),然后從左邊選擇“SSH->Auth”,點擊 Browse 按鈕,選擇 key.ppk 文件。 

2) 設置 auto-login 用戶名,Connection -> Data -> Auto-login username 

3) 再從左邊選擇 Session,然后點擊 Save 按鈕把修改保存下來 。然后點擊Open 按鈕就可以登錄了。 

如果上面的操作都沒有問題,那這時應該就自動登錄了,無需輸入密碼。 

 

到這里基本可以結束了。。。。 

但是如果希望這個private key使用在linux主機上,不用密碼登陸上放有public key的主機上, 

那么: 

 

第四步:linux private key設置 

(運行puttygen.exe,load 前面保存的key.ppk,如果還沒關puttygen.exe, 

這一步就不用了

選擇菜單Conversions->Export OpenSSH key,保存成文件id_rsa,上傳到linux 

主機的~/.ssh/目錄下,這樣這台主機就可以不用密碼登陸到前面放有public key的 

主機上了。 

$ chmod 600 ~/.ssh/id_rsa 

 

================================================= 

 

方法二:使用linux命令ssh-keygen 

第一步:產生key 

ssh-keygen -b 密匙長度 -t 密匙類型 

密匙類型可以是:rsa1 (對應SSH1 RSA)、rsa 和 dsa (對應SSH2) 

如: 

$ ssh-keygen -b 1024 -t rsa 

默認在~/.ssh下會生成 id_rsa和 id_rsa.pub 

這里id_rsa是private key,id_rsa.pub是public key (密鑰類型 RSA,密鑰長度 1024)。 

 

第二步:設置linux主機 

id_rsa.pub 復制為authorized_keys,放在需要登陸的linux主機的~/.ssh目錄下 

 

$ scp id_ras.pub hostname1:/home/username/.ssh/authorized_keys 

 

這樣就可以不用密碼ssh到hostname1上了(hostname1和username根據自己情況而定,用戶名和本地相同,不相同的話要顯式地指定 用戶名:scp id_ras.pub username@hostname1:/home/username/.ssh/authorized_keys) 

 

如果想使用putty,因為ssh-keygen生成的SSH2密匙和putty的密匙格式不同,無法直接使用, 

必須用 puttygen.exe 轉換一下: 

 

第三步:轉換private key,設置putty 

使用winscp (推薦)或者 psftp.exe 或者ftp把id_rsa下載到本地,運行puttygen.exe,選擇菜單Conversions->Import key 

然后save private key (比如key.ppk),就可以使用這個private key設置putty了,設置方法和上面相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM