Linux遠程密鑰認證&單用戶、救援模式&虛擬機克隆&Linux相互SSH登陸

1、Linux遠程SSH登陸之密鑰認證linux

        1.一、putty遠程登陸密鑰認證shell

                putty密鑰認證,首先須要用到putty密鑰生成工具(PUTTYGEN.EXE)。而後是該工具的使用界面如圖:安全

                        

一、Generate 生成密鑰 bash

二、Parameters 密鑰類型相關參數服務器

            感興趣的話能夠修改Parameters 密鑰類型相關參數,默認值已經知足需求了。點擊Generate生成後會出現以下畫面:網絡

注:鼠標要在當前對話框晃動才能加快密鑰的生成,不然密鑰建立會很慢,甚至不生成建立。ssh

              當密鑰生成建立完成之後會給出以下畫面: 編輯器

一、Pubic key for pasting into OpenSSH authorized_keys file:工具

粘貼到OpenSSH authorized_keys文件的公開密鑰測試

二、Key fingerprint 密鑰相關信息(根本沒什麼修改的)

三、Key comment 定義密鑰名稱,便於區分

四、Key passphrase 給當前密鑰設置密碼

五、Confim passphrase 確認密鑰的密碼

六、Generate a public/private key pair  生成一個公鑰/私鑰對 (這裏生成過了,能夠從新生成)

七、Load an existing private key file 加載一個現有的私鑰文件

八、保存生成的公/私鑰   Save public key(保存公鑰)Save private key (保存私鑰)

           這裏須要給三、Key comment設置名稱,也能夠保持默認。建議要給四、Key passphrase設置密碼,五、Confim passphrase在確認一下設置的密碼。選擇保存公鑰或私鑰比較安全的路徑並定義名稱。

          如今已經有了一對公私鑰,就要把公鑰複製到Linux了。可是不當心把Puttygen.exe關閉了找不到公鑰了怎麼辦?有兩種方法能夠找到生成的公私鑰。具體以下:   

        從新打開Puttygen.exe如圖:

                一、Load an existing private key file 加載一個現有的私鑰文件

           會彈出剛纔保存的密鑰存放窗口找到公鑰或私鑰文件(保存公鑰是沒有文件後綴名的,可使用記事本打開。保存的私鑰是以.ppk後綴名結尾的,也是能夠直接使用記事本打開)。當你完成之後會提示輸入密鑰密碼以下圖,若是忘記密碼,也不要緊從新生成便可。

          接下來就能看到公鑰了,如圖:

    

        接下來使用Putty.exe遠程鏈接Linux並完成如下操做;

mkdir /root/.ssh                  #在root家目錄下建立一個.ssh目錄,這個目錄默認不存在的。
chmod 700 /root/.ssh              #更改這個目錄的權限
vi /root/.ssh/authorized_keys     #使用vi編輯器把公鑰內容粘貼到/root/.ssh/authorized_keys文件內。

        

        

        完成之後按下鍵盤左上角"Esc"鍵從編輯模式到命令模式,輸入:wq回車確認便可完成

          

        到這裏還並未完成,還要關閉SELinux,SELinux是CentOS的一種安全機制,若是不關閉SELinux,使用密鑰認證登陸的時候會給出錯誤提示「server refused our key」,從而致使登陸失敗,運行命令以下:

sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinx/config     #這裏使用sed把/etc/selinux/conf配置文件內容的SELINUX=enforcing替換成SELINUX=disabled,保障每次系統重啓SELinux不會開啓。重啓才能生效。
setenfoce Permissive                                                  #無論系統是否重啓SELinux當前都是處於關閉狀態

      設置Putty經過密鑰遠程Linux

            打開Putty.exe按照圖示來操做

          

            一、選中須要使用遠程Linux使用密鑰驗證的服務器

            二、加載選中Linux服務器配置信息

            三、選中SSH 選項

            四、選中Auth選項 

            五、選中私鑰文件路徑

            六、選中私鑰文件

            七、打開

            八、Session 會話
            九、Save 保存

            十、Open 打開

                                               

輸入密鑰的密碼完成密鑰驗證,就不須要root密碼登陸Linux了。

      1.2 Xshell遠程鏈接Linux之密鑰驗證

            打開Xshell,選擇工具—用戶密鑰管理者如圖:

 

以上就是Xshell生成密鑰的步驟,與Puttygen.exe相似

        接下來把Xshell生成的公鑰粘貼到/root/.ssh/authorized_keys文件內。如圖:

    

圈顏色部分是Putty遠程公鑰,第一行作備註(作備註可使用中文,便於區別公鑰);前提必定要是以#號開頭。

            斷開Xshell鏈接,而後修改鏈接信息如圖:

    

            肯定以後雙擊修改的鏈接 輸入帳號以後如圖:

2、單用戶、救援模式之忘記root密碼

          2.一、單用戶模式

             單用戶模式是沒有網絡服務的,就不能遠程操做了。這裏就以虛擬機爲例來進入系統的單用戶模式。進入單用戶模式就須要重啓Linux系統,重啓命令以下:

reboot                            #當即重啓
shutdown -r now                   #當即重啓
shutdown -r +1                    #一分鐘之後重啓
init 6                            #切換Linux的運行級別6 運行級別6表示重啓。此命令的做用就是重啓

圈紅的意思是:使用方向鍵 ↑ 或 ↓鍵作出選擇,按下鍵盤'e'鍵編輯選中的選項,或者按下鍵盤'c'鍵進入命令提示行模式。默認3秒幫你自動選擇默認選項。

        出現上述畫面按下方向鍵 ‘↑’ 或 ‘↓’鍵,不讓系統3秒幫你作出選擇。選擇第一項在按下'e'鍵進入系統編輯模式如圖:

        須要使用方向鍵 '↓' 向下翻找到以linux16開始的行,如圖:

        移動光標到 ro rhgb quiet LANG=en_US.UTF-8處  把'ro'改爲'rw init=/sysroot/bin/bash' 如圖:

        根據提示按下 'Ctrl+x' 鍵開始啓動單用戶模式。等待幾秒鐘就出現下圖 

注意:這個系統不是安裝在服務器硬盤的真實Linux系統,只是加載在內存的虛擬系統。修改root密碼就須要加載安裝在服務器硬盤內的Linux系統。

        須要執行chroot /sysroot/ 命令來掛載安裝在服務器硬盤內真正的Linux操做系統。如圖:

    

        到這裏就可使用命令 passwd來修改root密碼,如圖:

        密碼已經修改爲功,這裏就須要從服務器硬盤裏的Linux系統登出(Crlt+d;exit;logout 三個命令任意一個均可以)執行重啓命令(reboot;init 0;shutdown -r now)。

            注:以前已經把/etc/selinux/config配置文件內的SELINUX=enforcing改成SELINUX=disabled的話,就不須要執行 touch /.autorelabel 

                    沒有處理SELinux開機關閉的操做,就必須執行 touch /.autorelabel 操做才能使修改的密碼生效。

若是不肯定的話,建議仍是執行一下 touch /.autorelabel 

        重啓完成出現登陸界面,就可使用新設置的密碼登陸了。

 

    2.2 救援模式

            若是GRUP加密了,不能使用單用戶模式,那就要用到安裝系統時光盤、U盤的救援模式。以虛擬機演示,關閉虛擬機,編輯虛擬機配置(選中須要使用救援的虛擬機右鍵-設置)如圖:

                    

                            把CD-ROM Drive按鍵盤"+"號調整到第一位後如圖:

        以後自動重啓,並以光盤啓動(和初裝系統一樣畫面)如圖:

到這步剩下的修改root密碼和單用戶模式同樣,這裏就不在演示了。修改完畢記要設置虛擬機硬件光驅開機不鏈接。如圖:

3、虛擬機克隆

        虛擬機在克隆前要處於關閉狀態,選中須要克隆的虛擬機名稱鼠標右擊-管理-克隆,如圖:

        啓動克隆的虛擬機並作某些必要的設定,如圖示:

一、重啓網絡服務;二、查看ip地址;3測試虛擬機可否上網

            爲了變越區分主機,修改Linux主機名: 

hostnamectl set-hosname linux-202
vi /etc/hostname
#以上兩條命令均可以修改主機名,任選一條便可。

把另外一臺Linux主機名也用一樣方法修改,這裏就不演示了。

4、兩臺Linux相互登陸

        在演示兩臺Linux相互登陸前,不得不提一下關於命令行前面的內容說明:

[root@linux_201 ~]#               解釋說明:[用戶名@主機名 工做目錄]#   
[root@linux_202 ~]# 
上面除了主機名不一樣其它信息相同,其中'~'表示用戶的家目錄,#表示爲超級管理員命令提示符;後面會遇到$開始的命令提示符,$表示爲普通用戶的命令提示符。

        Xshell鏈接兩臺Linux主機任意一臺,執行以下圖:

    ssh的客戶端都支持密鑰認證,在Linux上也是支持密鑰登陸具體操做以下圖:

一、ssh-keygen 生成公、私鑰的工具

二、詢問是否更改私鑰存放路徑,不更改的話使用的路徑爲(/root/.ssh/id_rsa)

三、給私鑰設置密碼         四、再次確認私鑰的密碼 

圈紅部分告訴你的公、私鑰存放路徑 ,其中id_rsa是私鑰須要保存在本機的,id_rsa.pub是公鑰須要複製到被遠程的Linux服務器上

       查看生成的公鑰並複製到粘貼板,如圖:

    

而後斷開Linux_202主機,回到Linux_201主機上執行 logout 命令便可,並使用vi編輯器編輯/root/.ssh/authorized_keys文件如圖:

完成後按下'Esc'鍵,輸入:wq  能夠測試使用linux_202主機遠程鏈接Linux_201主機測試,以下圖

ssh是Linux下的遠程工具 

ssh遠程的必要的4個條件 

主機名或ip 用戶 密碼 port(端口)
192.168.8.201 root ****** 默認 22 

      在Linux遠程時能夠 縮寫爲 ssh 192.168.8.201   

       正常應該使用 ssh user@ip或主機名 -p 指定端口   爲何簡寫了,由於在當前Linux系統下命令行前面都會有用戶信息[root@linux_22 ~]# 因此 ssh 192.168.8.201 就會以root帳號去鏈接。-p是指定修改ssh服務端口是才使用,不加-p都是以22端口鏈接。

相關文章
相關標籤/搜索