伺服器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 按提示輸...