SSH免密登入一步搞定

2021-10-18 23:00:36 字數 1969 閱讀 9675

伺服器a實現免密登入伺服器b。(基於linux伺服器)
實現過程

一、伺服器a公鑰的生成

伺服器a上命令列介面輸入下面命令,會在當前使用者目錄下新建[.ssh]資料夾,資料夾內包含id_rsa(私鑰)與id_rsa.pub(公鑰)

伺服器a:~ nicholas.joey$ ssh-keygen -t rsa -c "你的郵箱"

伺服器a:~ nicholas.joey$ cd .ssh

伺服器a:.ssh nicholas.joey$ ls -al

total 40

drwx------ 6 nicholas.joey staff 192 2 3 14:13 .

drwxr-xr-x+ 47 nicholas.joey staff 1504 2 3 14:13 ..

-rw-r--r-- 1 nicholas.joey staff 263 2 3 14:13 config

-rw------- 1 nicholas.joey staff 2602 11 14 14:08 id_rsa

-rw-r--r-- 1 nicholas.joey staff 570 11 14 14:08 id_rsa.pub

-rw-r--r--@ 1 nicholas.joey staff 6270 2 3 09:14 known_hosts

二、目標伺服器b的處理
當前使用者目錄下是否存在[.ssh]資料夾,沒有則新建[.ssh]資料夾並賦予 700 許可權。

並建立檔案 authorized_keys。將其伺服器a建立的id_rsa.pub(公鑰)內容複製在 authorized_keys 檔案中。

[伺服器b ~]$ mkdir .ssh/

mkdir: 無法建立目錄 「.ssh/」: 檔案已存在

[伺服器b ~]$ chmod 700 .ssh/

[伺服器b ~]$ cd .ssh/

[伺服器b .ssh]$ touch authorized_keys

[伺服器b .ssh]$ vim authorized_keys

[伺服器b .ssh]$ cat authorized_keys

ssh-rsa ***** [email protected]

結尾
實現上述兩步,伺服器a就可通過ssh免密登入伺服器b

伺服器a:~ nicholas.joey$ ssh [email protected]

authorized users only. all activities may be monitored and reported.

last login: wed feb 3 16:12:41 2021 from

[伺服器b ~]$

還可以自定義名稱進行免密登入,在其伺服器a[.ssh]資料夾中新建 config 檔案

joey:~ nicholas.joey$ cat .ssh/config 

#本地開發環境

#自定義名稱

host joey

#伺服器b位址

hostname 192.168.0.106

#伺服器b使用者名稱

user root

#驗證方式為公鑰方式

identityfile ~/.ssh/id_rsa

joey:~ nicholas.joey$ ssh joey

authorized users only. all activities may be monitored and reported.

[伺服器b ~]$

SSH免密登入

a為本地主機 b為遠端主機 生成公鑰私鑰對 ssh keygen t rsa登入遠端機器 ssh root 然後輸入密碼 將.ssh的許可權設為700 mkdir ssh 如果資料夾已存在,跳過 chmod 700 ssh將本地生成的rsa公鑰複製到遠端機器 scp ssh id rsa.pub r...

SSH免密登入

當我們在配置多台計算,使之可以相互使用無密碼登入 ssh,之前都是一台一台的配置,現在一台a上新增b,然後在另一台b上再次新增a,這樣使得authorized keys中的內容相同,但時並不是完全相同,比如新增順序。如果超過2臺,這種配置就相當複雜了,而且容易出錯。後來,在網上看到了一種簡單的配置,...

SSH免密登入

前提 本地和遠端伺服器都已經安裝了ssh 遠端伺服器ip 192.168.1.145 遠端登入使用者 admin 本地命令 1 ssh keygen t rsa p 一路回車 2 scp ssh id rsa.pub admin 192.168.1.145 home admin ssh 3 按提示輸...