CentOS7-SSH連線公鑰

以下說明皆是以Oracle VM VirtualBox之虛擬機演練CentOS7的SSH連線公鑰設置

此功能的實現可以不用每次透過SSH連線都再輸入一次密碼


一、首先準備好兩台已經安裝好CentOS7的虛擬機,分別稱作A虛擬機與B虛擬機
以下步驟示範將A虛擬機的公鑰載入B虛擬機
讓A虛擬機透過SSH連線於B虛擬機不再需要輸入密碼

二、將A和B虛擬機的網路介面皆設定為:
介面卡 1:NAT
介面卡 2:僅限主機介面卡(Host-Only Ethernet)

※讓此二虛擬機互相連線的關鍵在於介面卡 2而非介面卡 1,NAT僅提供對外連線功能

三、打開兩台虛擬機、打開終端機

四、# ifconfig
查看A、B虛擬機的介面卡 2網路卡IP位址,以下為假定的IP位址
A虛擬機的enp0s8:192.168.56.102
B虛擬機的enp0s8:192.168.56.107

五、A和B虛擬機皆開啟並運行sshd
# systemctl start sshd      =>  運行sshd
# systemctl enable sshd  =>  未來開機皆自動運行sshd
# systemctl status sshd   =>  查看sshd的狀態,正常運行狀態顯示為active

六、A和B虛擬機皆關閉firewalld, selinux
# systemctl stop firewalld      =>  關閉firewalld
# systemctl disable firewalld  =>  未來開機皆自動關閉firewalld
# systemctl status firewalld   =>  查看firewalld的狀態,正常運行狀態顯示為inactive
# gedit /etc/selinux/config    =>   將SELINUX=enforcing改成SELINUX=disabled然後儲存

七、# reboot 重新開機讓SELINUX=disabled的功能載入

八、#getenforce 查看功能是否為Disabled

九、在A虛擬機上建立資料夾並且產生公鑰
# cd
# mkdir -p ~/.ssh
# chmod 700 ~/.ssh
# ssh-keygen
接著連續按三次的Enter,即在~/.ssh中建立鑰匙

十、將鑰匙透過介面卡 2複製給B虛擬機
# ssh-copy-id root@192.168.56.107
輸入B虛擬機的root密碼之後,便成功加入
往後在A虛擬機嘗試登入B虛擬機便無需密碼


若做完以上步驟之後想以B虛擬機建立公鑰給A虛擬機,直接在B虛擬機輸入
# ssh-keygen
# ssh-copy-id root@192.168.56.102
便可以達到兩台互相透過SSH連線皆無需輸入密碼的功能

留言

這個網誌中的熱門文章

CentOS7-Windows遠端連線

CentOS7-設置個人網頁