歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux維護

Linux中如何使用rsa免密碼登錄

在Linux系統中登錄需要使用密碼,那麼有什麼方法能夠不使用密碼就能登錄系統呢?下面小編就給大家介紹下如何使用ssh中的rsa免密碼登錄Linux,一起來學習下吧。

A為本地主機(即用於控制其他主機的機器) ;

B為遠程主機(即被控制的機器Server), 假如ip為172.24.253.2 ;

在A上的命令:

代碼如下:

ssh-keygen -t rsa

(連續三次回車,即在本地生成了公鑰和私鑰,不設置密碼,生成的公鑰私鑰在~/.ssh目錄下,id_rsa是私鑰, id_rsa.pub是公鑰 )

代碼如下:

ssh 《a href=“mailto:[email protected]”》[email protected]《/a》

mkdir .ssh

chmod 700 .ssh

(需要輸入密碼, 注:必須將.ssh的權限設為700)

代碼如下:

scp ~/.ssh/id_rsa.pub 《a href=“mailto:[email protected]:~/.ssh”》[email protected]:~/.ssh《/a》

然後在服務器上建立authorized_keys文件:

代碼如下:

touch ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

(注意: 必須將~/.ssh/authorized_keys的權限改為600, 該文件用於保存ssh客戶端生成的公鑰,可以修改服務器的ssh服務端配置文件/etc/ssh/sshd_config來換文件名,默認是叫authorized_keys)

代碼如下:

cat id_rsa.pub 》》 authorized_keys

# (將id_rsa.pub的內容追加到 authorized_keys 中, 注意不要用 》 ,否則會清空原有的內容,使其他人無法使用原有的密鑰登錄)

回到A機器:

代碼如下:

# ssh 《a href=“mailto:[email protected]”》[email protected]《/a》 (不需要密碼, 登錄成功)

從表面上簡單的理解一下登錄的過程,

首先 ssh-keygen -t rsa 命令生成了一個密鑰和一個公鑰, 而且密鑰可以設置自己的密碼

可以把密鑰理解成一把鑰匙, 公鑰理解成這把鑰匙對應的鎖頭,

把鎖頭(公鑰)放到想要控制的server上, 鎖住server, 只有擁有鑰匙(密鑰)的人, 才能打開鎖頭, 進入server並控制

而對於擁有這把鑰匙的人, 必需得知道鑰匙本身的密碼,才能使用這把鑰匙 (除非這把鑰匙沒設置密碼), 這樣就可以防止鑰匙被了配了(私鑰被人復制)

更簡潔的方式:

步驟1、如果服務器上沒有authorized_keys文件,則:(如果有則跳過這一步)

代碼如下:

ssh 《a href=“mailto:[email protected]”》[email protected]《/a》

mkdir .ssh

chmod 700 .ssh

touch ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

步驟2、在本機:

代碼如下:

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub 《a href=“mailto:[email protected]”》[email protected]《/a》

ssh-keygen -t rsa #之後三下回車,表示無密碼。即可。

注: ssh-copy-id 自動把密鑰追加到遠程主機的 .ssh/authorized_key 上

上面就是Linux下使用ssh中的rsa免密碼登錄的方法介紹了,使用該方法你就能登錄本機,是不是很方便呢?趕緊試一下吧。

Copyright © Linux教程網 All Rights Reserved