1. 程式人生 > >免密登錄,密鑰登錄,遠程登錄

免密登錄,密鑰登錄,遠程登錄

gen 現在 第一次 接下來 新建 理解 導致 author 靜態ip

遠程登錄

我們啟動linux系統之後,打開Xshell鏈接兩個虛擬機,像我們這樣的小白我是使用兩個虛擬機(自己配置一個可以克隆一個,改變一下靜態IP就可以),練習的時候在Xshell裏鏈接兩個虛擬機。

技術分享

在其中一個虛擬機中敲入命令:ssh-keygen -t rsa 其中 rsa是密鑰對的格式,回車之後會出來交互語句:

第一句話的意思是將生成的密鑰對放在哪個文件夾,

第二句話的意思是給密鑰對設置密碼(我選擇空=直接回車)

第三句話的意思是確認一遍密碼(繼續回車)

進入當前用戶的家目錄中,查看已經生成的公鑰和密鑰,因為使用自動生成的命令,在linux系統中,默認將密鑰對放在家目錄的.ssh文件中,因為.ssh文件是隱藏文件,所以我們用 ls -al 查看就可以看到.ssh文件夾。

技術分享

.pub結尾的文件就是公鑰的意思,下一步我們就要將公鑰放到你想要登錄的另一臺虛擬機上,我們一般使用ssh-copy-id [email protected](主機名) 【我們加入 -i的命令可以指定特定的文件夾下的文件】,輸入命令行之後回車,他會提醒我們是否確定鏈接 我們輸入 (yes)我們在設置免密碼登錄,第一次的時候需要你輸入當前用戶的密碼,之後輸入 密碼回車,系統提示您鏈接並且傳輸成功。

技術分享

現在我們可以登錄另一臺的虛擬機,對應用戶的家目錄下查找.ssh文件夾中就會多出authorized-keys 文件

技術分享

在這裏我們要註意一點,我們使用的都是命令自動生成的密鑰對,那麽我們必須保證的兩點就是.ssh文件的權限是700而 authorized-keys的權限必須是600,為了防止不必要的錯誤發生,這種情況使我們在不使用自動的命令下我們在一臺虛擬機中將公鑰拷貝到另一臺虛擬機中,那就需要我們自己創建.ssh文件夾和authorized-keys文件,我們在要拷貝的文件目錄下使用scp 文件名 [email protected]

/* */ :目標目錄,這時候我們就需要註意 .ssh的權限必須是700 同時 公鑰的名字必須叫authorized-keys 並且權限必須是 600。

這樣我們就基本配置成功了遠程登錄的操作,直接在 有密鑰的虛擬機上 ssh ip地址 就可以進行測試 。

在我們的配置過程中可能會出現一種情況就是虛擬機阻止root用戶遠程登錄(為了系統安全),如果我們要使用root用戶遠程登錄的話,就需要修改配置文件中的內容,我們必須切換到root用戶,然後vim /etc/ssh/sshd_config ,我們在修改配置文件的時候再好進行一下備份,這樣不會出現誤操作導致系統崩潰。

在這個配置文件中我們可以修改系統的默認端口號(鏈接xshell時候選擇的22就是默認端口號)

技術分享

接下來往下走我們會看到是否允許root用戶登錄,在這我們可以根據需求更改是否同意root用戶登錄

技術分享

往下走我們還可以看到公鑰的存儲位置,我們也可以修改公鑰的默認存儲位置 (剛學最好不要改 嘻嘻)

技術分享

免密登錄

我在學習的時候使用的是xshell客戶端學習的,所以我給大家說一下在xshell裏配置免密登錄,其實就是一個密鑰在本地,公鑰在虛擬機裏,很好理解的。

在xshell中進行如下操作:

技術分享

點擊下一步,可以自動生成密鑰對,下一步會顯示是否需要密鑰對密碼,一般我不會填寫直接略過,下一步之後我們就可以看到公鑰裏面的內容了,我們可以直接選擇復制,然後將他粘貼到我們的.ssh下的authorized_keys,沒有可以進行新建。註意文件名和權限千萬不要寫錯了,我就犯過這種低級的錯誤,然後在xshell中選擇工具,把密鑰添加進去,然後就可以不需要密碼登錄了!~

技術分享

接下來,你就可以喝個咖啡慶祝一下了!!!!

免密登錄,密鑰登錄,遠程登錄