每次登錄服務(wù)器都需要輸入密碼感覺有一點(diǎn)復(fù)雜了,下面小編為各位介紹LINUX中RSA認(rèn)證登錄SSH(不需要輸入密碼登錄)2種方法,希望對大家有幫助.
方法一:有的時候經(jīng)常需要登錄ssh,每次都需要輸入密碼,會比較繁瑣,所以設(shè)置了一下使用RSA公鑰認(rèn)證的方式登錄Linux,首先需要在服務(wù)器端設(shè)置/etc/ssh/sshd_config:
# vim /etc/ssh/sshd_config
修改如下兩行為yes,其實(shí)大多數(shù)情況下不用修改,默認(rèn)就是yes.
RSAAuthentication yes
PubkeyAuthentication yes
(1) 如果客戶機(jī)和服務(wù)器都是Linux機(jī)器,那么我們使用下面的方法,后面第2節(jié)會提到怎么在Windows下使用Putty生成密鑰對,我們需要在客戶端生成RSA密鑰對,使用ssh-keygen命令:# ssh-keygen -t rsa
參數(shù)t的意思是type,后面跟著加密類型,這里我們是rsa,然后會提示你輸入密鑰保存完成文件名,這里我們需要使用默認(rèn)的id_rsa,之后才能正常才能登錄,如果你生成的密鑰作為其他用處,那么可以命名為其他名稱:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cake/.ssh/id_rsa):
之后會提示你輸入一個passphrase,我們這里可以留空,這樣我們登錄的時候就不許輸入密碼.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
然后會提示你密鑰生成成功,這是你的私鑰保存為~/.ssh/id_rsa,你的公鑰是~/.ssh/id_rsa.pub.
我們現(xiàn)在需要做的是,把id_rsa.pub的內(nèi)容,添加的服務(wù)器端的~/.ssh/autherized_keys文件最后,你可以把這個文件上傳到服務(wù)器端,然后使用命令:
# cat id_rsa.pub >> ~/.ssh/autherized_keys
到這里就完成了.
(2) 在Windows下使用Putty生成密鑰對:Putty的安裝目錄下有個puttygen.exe程序,我們運(yùn)行這個程序,之后點(diǎn)擊Generate,開始生成密鑰對,我們需要根據(jù)提示,在指定方框內(nèi)隨機(jī)滑動鼠標(biāo),這是為了根據(jù)鼠標(biāo)軌跡,產(chǎn)生一些隨機(jī)數(shù)據(jù).
之后生成結(jié)束,我們點(diǎn)擊Save Private Key將私鑰存放在某個目錄中,然后賦值最上面文本框中的全部內(nèi)容,粘貼到Linux服務(wù)器端的autherized_key的最后.
我們現(xiàn)在可以關(guān)閉這個小程序,現(xiàn)在打開Putty,在左邊的選項(xiàng)中,選擇Conneciton–SSH–Auth,在Private key file for authentication中,選擇剛才保存的私鑰路徑就可以了,到此位置,Putty也可以不用密碼登錄了.
方法二,使用Linux主機(jī)生成的密匙.
1、生成密匙
- [root@m.survivalescaperooms.com .ssh]#ssh-keygen -t rsa
- Generating public/private rsa key pair.
- Enter file in which to save the key (/root/.ssh/id_rsa):
- Enter passphrase (empty for no passphrase):
- Enter same passphrase again:
- Your identification has been saved in /root/.ssh/id_rsa.
- Your public key has been saved in /root/.ssh/id_rsa.pub.
- The key fingerprint is:
- e4:9a:47:a7:b4:8a:0b:98:07:b8:70:de:6b:16:2c:0croot@m.survivalescaperooms.com
2、將 /root/.ssh/id_rsa.pub改名為/root/.ssh/authorized_keys
- [root@m.survivalescaperooms.com.ssh]#mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
3、將私鑰id_rsa拷貝到遠(yuǎn)程客戶端
1)、如果遠(yuǎn)程客戶端是linux,拷貝到遠(yuǎn)程客戶端/root/.ssh/即可.
2)、putty作為遠(yuǎn)程客戶端在
putty不能識別直接從服務(wù)器拷貝來的私鑰,需要使用puttygen.exe進(jìn)行格式轉(zhuǎn)換.
(1)、打開puttygen.exe --> Conversions --> Import Key
(2)、選擇拷貝過來的私鑰文件id_rsa
(3)、Save private key->id_rsa.ppk(保存私鑰)
4、打開putty.exe
1)、Session --> Host Name (填寫服務(wù)器地址或者域名)
2)、Connection --> SSH --> Auth (點(diǎn)Browse選擇剛生成的id_rsa.ppk)
3)、open
成功打開后出現(xiàn)如下提示:
- login as: root
- Authenticating with public key "imported-openssh-key"
- ----------------------------------------------------------------------------------
當(dāng)然你有可能會遇到這個錯誤 [因?yàn)槲矣龅搅?呵呵]:
Permissions 0755 for '你配置的公鑰文件路徑' are too open.
這個是因?yàn)檫@幾個文件權(quán)限設(shè)置的有點(diǎn)問題,執(zhí)行命令:chmod 600 你的文件
|
新聞熱點(diǎn)
疑難解答
圖片精選