使用ssh公鑰實現免密碼登入

2021-07-03 15:59:00 字數 2420 閱讀 6304

ssh無密碼登入要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以centos為例。

有機器a(192.168.1.155),b(192.168.1.181)。現想a通過ssh免密碼登入到b。

首先以root賬戶登陸為例。

1.在a機下生成公鑰/私鑰對。

[root@a

~]# ssh

-keygen 

-t rsa 

-p ''

-p表示密碼,-p '' 就表示空密碼,也可以不用-p引數,這樣就要三車回車,用-p就一次回車。

該命令將在/root/.ssh目錄下面產生一對金鑰id_rsa和id_rsa.pub。

一般採用的ssh的rsa金鑰:

id_rsa 

私鑰id_rsa.pub 公鑰

下述命令產生不同型別的金鑰

ssh-keygen -t dsa

ssh-keygen -t rsa

ssh-keygen -t rsa1

2.把a機下的/root/.ssh/id_rsa.pub 複製到b機的/root/.ssh/authorized_keys檔案裡,先要在b機上建立好 /root/.ssh 這個目錄,用scp複製。

[root@a 

~]# scp /root/.ssh/[email protected]:/root/.ssh/authorized_keys

root@

192.168

.1.181

's password:

id_rsa.pub 

100% 223

0.2kb/s 

00:00

由於還沒有免密碼登入的,所以要輸入一次b機的root密碼。

3.authorized_keys的許可權要是600!!!

[root@b 

~]# chmod 

600/root/.ssh

/authorized_keys

4.a機登入b機。

[root@a 

~]# ssh -lroot

192.168

.1.181

the authenticity of host 

'192.168.1.181 (192.168.1.181)

'can

't be established.

rsa key fingerprint 

is00

:a6:a8:

87:eb:c7:40:

10:39:cc:a0:eb:

50:d9:6a:5b.

are you sure you want to 

continue

connecting (yes

/no)? yes

warning: permanently added 

'192.168.1.181

'(rsa) to the list of known hosts.

last login: thu jul 

309:

53:18 2008

from

root

[root@b 

~]#

第一次登入是時要你輸入yes。

現在a機可以無密碼登入b機了。

小結:登入的機子可有私鑰,被登入的機子要有登入機子的公鑰。這個公鑰/私鑰對一般在私鑰宿主機產生。上面是用rsa演算法的公鑰/私鑰對,當然也可以用dsa(對應的檔案是id_dsa,id_dsa.pub)

想讓a,b機無密碼互登入,那b機以上面同樣的方式配置即可。

假設 a 為客戶機器,b為目標機;

要達到的目的:

a機器ssh登入b機器無需輸入密碼;

加密方式選 rsa|dsa均可以,預設dsa

做法:1、登入a機器

2、ssh-keygen -t [rsa|dsa],將會生成金鑰檔案和私鑰檔案id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

3、將 .pub 檔案複製到b機器的 .ssh 目錄, 並 cat id_dsa.pub>> ~/.ssh/authorized_keys

4、大功告成,從a機器登入b機器的目標賬戶,不再需要密碼了;

ssh-keygen做密碼驗證可以使在向對方機器上ssh ,scp不用使用密碼.

具體方法如下:

ssh-keygen -t rsa

然後全部回車,採用預設值.

這樣生成了一對金鑰,存放在使用者目錄的~/.ssh下。

將公鑰考到對方機器的使用者目錄下,並拷到~/.ssh/authorized_keys中。

要保證.ssh和authorized_keys都只有使用者自己有寫許可權。否則驗證無效。(今天就是遇到這個問題,找了好久問題所在),其實仔細想想,這樣做是為了不會出現系統漏洞。

使用ssh公鑰實現免密碼登入

ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。首先以root賬戶登陸為例。1.在a機下生成公鑰 私鑰對。root a ssh...

使用ssh公鑰實現免密碼登入

主機a 192.168.198.131 主機b 192.168.198.132 兩種命令方式 主機a免密碼登入主機b 將a的公鑰上傳到主機b ssh keygen 建立證書 然後均回車 選擇預設 ssh copy id i ssh id rsa.pub 192.168 198 132 節點間的無密碼...

使用ssh公鑰實現免密碼登入

ssh keygen 的用法 假設 a 為客戶機器,b為目標機 要達到的目的 a機器ssh登入b機器無需輸入密碼 加密方式選 rsa dsa均可以,預設dsa 做法 1 登入a機器 2 ssh keygen t rsa dsa 將會生成金鑰檔案和私鑰檔案 id rsa,id rsa.pub或id d...