天天看點

linux 下實作ssh免密鑰登入

小夥伴經常在運維的時候需要ssh到很多其他的伺服器,但是又要每次輸入密碼,一兩台還沒什麼,多了就煩了。是以這裡教大家如何直接ssh到其他機器而不用輸入密碼。

[root@jw ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): ——一路回車吧

Created directory '/root/.ssh'.

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:

54:77:79:fd:82:90:d7:c5:7f:5a:04:39:8f:e8:40:09 root@jw

The key's randomart image is:

+--[ RSA 2048]----+

|        E..o..o*o|

|         .=...= =|

|        .. o o *o|

|       .  . o o *|

|        S  o   +.|

|            . .  |

|                 |

+-----------------+

會在本機生成兩個檔案,一個id_rsa.pub公鑰一個id_rsa私鑰

[root@jw ~]# cd .ssh/

[root@jw .ssh]# pwd

/root/.ssh

[root@jw .ssh]# ll

total 8

-rw-------. 1 root root 1675 Nov  6 09:46 id_rsa

-rw-r--r--. 1 root root  389 Nov  6 09:46 id_rsa.pub

将公鑰拷貝到你需要連接配接的主機上,如192.168.3.2

[root@jw .ssh]# ssh-copy-id -i id_rsa.pub [email protected]

The authenticity of host '192.168.3.2 (192.168.3.2)' can't be established.

RSA key fingerprint is e4:fa:45:0d:a1:e5:77:0d:be:41:2f:d9:f3:2f:56:f1.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.3.2' (RSA) to the list of known hosts.

[email protected]'s password: 

Now try logging into the machine, with "ssh '[email protected]'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

拷貝需要輸入yes,并輸入對方主機192.168.3.2的密碼

檢視192.168.3.2的/root/.ssh/目錄下會生成authorized_keys檔案,内容如下

[root@jw2 .ssh]# cat authorized_keys 

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAt5Bum8vL+FezAzM9xUzSLnzTVGOwwmnu6dQcrIu5WCNqb1VgO1J2jj0jUDaK670tNIi5b2C+rr0kontqlVwblFZCrT/2gLBqj51t8UKu7YzaCxJBqdHbIxSgyE2/klxM4x3L/8j2FnGiBDzB6eZ9VLatnFjm2D1QtxStu2It+h1Rg2sqQqMxg3+rLkeG4b8nPBDxw6pczYQR9mKsmvH3wEDi4+17wonz9T+tqQO0dI9jI7jibwEpHWkpVzWM+lQpyU4VrEtq9uVEE6gsIKcWzdpfM5B3WVfA8ts2TM8zxu+NRvA0Dfxzh3iEkVUv7zAPs6tlZM16JoHcXros++goJQ== root@jw

[root@jw2 .ssh]# pwd

————————————————

如此直接在本機192.168.3.1 ssh對方ip,ssh 192.168.3.2 因為預設都是root,是以可以不用輸入[email protected]

如果需要在192.168.3.2遠端192.168.3.1;那就在3.2上如上步驟做一遍;

可以在192.168.3.1主機上檢視/root/.ssh/目錄下的檔案

total 12

-rw-------. 1 root root 1675 Nov  6 09:46 id_rsa——私鑰  解密

-rw-r--r--. 1 root root  389 Nov  6 09:46 id_rsa.pub——公鑰 加密

-rw-r--r--. 1 root root  393 Nov  6 09:49 known_hosts——已知的主機清單

[root@jw .ssh]# cat known_hosts 

192.168.3.2 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvMTT5iDe+VuIfIw76LspyYt7EcBTzj6aEa5dto+4G+la1sxnMiy2xIhynctX6T1JipXYsv2cPdPHfV2i/BD4ZLNV30+j6b5G+qEqHxaTxgoez6MyRCO0FT1pI5TpPHA9neMN/70Yrmp4RttHM04gz6X9CesZwfRaHpFoBcVm6+0YgEOakDSFbe7T/Se/M6dhuJwWXmJYSoSG/z1QkBn/QI/YgszjFQBiulDPXhHTd/WWJd64mFJLuAhr+QmA+QG4sdYlJYl26hFUUf/Tgzw9cdkNM57jyQ436crJ6s2duJZ3zYGvclwSVLdhQH7VigZFRoua+wTxeD8QgtaCOf2Osw==

                                                                            by:rm_rf_db

本文轉自 rm_rf_db 51CTO部落格,原文連結:http://blog.51cto.com/12185273/1979484,如需轉載請自行聯系原作者