亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > 教你Linux的遠程登錄方法和無密碼登錄方法

      教你Linux的遠程登錄方法和無密碼登錄方法

      時間: 若木635 分享

      教你Linux的遠程登錄方法和無密碼登錄方法

        這篇文章主要介紹了Linux的遠程登錄方法和無密碼登錄方法,以及一些遠程登錄的常見問題和sshd_config中文注釋,需要的朋友可以參考下。

        一、遠程登錄方法

        SSH 是一種安全通道協(xié)議 , 主要用來遠程登錄。在 RHEL 5 系統(tǒng)中使用的是 OpenSSH 服務(wù)器由 openssh , openssh-server 等軟件包提供的 ( 默認已經(jīng)安裝 ) ,并以將 sshd 添加為標準的系統(tǒng)服務(wù)。 使用方法如下:

        復(fù)制代碼代碼如下:

        $ ssh host

        $ ssh username@host

        $ ssh -p 222 username@host

        -p: 指定訪問端口 ; 如果省略該參數(shù) , 則默認訪問 SSH 服務(wù)的默認端口 22;

        如果是第一次登錄對方主機 , 則系統(tǒng)會出現(xiàn)一下提示 :

        復(fù)制代碼代碼如下:

        The authenticity of host 'host(192.168.0.21)' can't be established.

        RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.

        Are you sure you want to continue connecting (yes/no)?

        這段話是說,無法確認 host 主機的真實性,只知道它的公鑰指紋,問你還想繼續(xù)連接嗎?

        輸入 yes 之后,系統(tǒng)會出現(xiàn)一句提示,表示 host 主機已經(jīng)得到認可。

        復(fù)制代碼代碼如下:Warning: Permanently added 'host, 192.168.0.21 ' (RSA) to the list of known hosts.

        然后要求輸入密碼:

        復(fù)制代碼代碼如下:

        $ Password: (enter password)

        此時,如果秘密正確,就可以登錄了。

        二、無密碼登錄方法

        在信任環(huán)境下,如果每次遠程登錄時,都要輸入密碼,感覺太浪費時間了,尤其是密碼很復(fù)雜、維護的服務(wù)器比較多的情況下。

        于是有了正常需求:不用輸入密碼即可實現(xiàn)遠程登錄。

        實現(xiàn)步驟如下:

        1 、本地生成 一對秘鑰文件 ( 公鑰和私鑰 ) ;

        復(fù)制代碼代碼如下:

        $ ssh-keygen

        # 以上命令等價于 ssh-keygen -t rsa

        #-t: 指定密鑰的類型 , 默認為 SSH-2 的 rsa 類型 ;

        運行上面的命令后,系統(tǒng)會出現(xiàn)一系列提示,可以一路回車。 特別說明 ,其中有一個問題是, 要不要對私鑰設(shè)置口令( passphrase ) ,如果擔心私鑰的安全,可以設(shè)置一個。運行結(jié)束以后,會在 ~/.ssh/ 目錄下新生成兩個文件: id_rsa.pub 和 id_rsa 。前者公鑰,后者是私鑰。

        2 、將公鑰傳送到遠程主機 host 上面 ;

        復(fù)制代碼代碼如下:$ ssh-copy-id user@host

        經(jīng)過以上兩步之后,就可以實現(xiàn)無密碼遠程登錄了 ( 遠程主機將用戶的公鑰保存在 ~/.ssh/authorized_keys 文件中 ) 。

        三、常見問題:

        1、 生成密鑰并上傳至遠程主機后,仍然無法實現(xiàn)無密碼登錄?

        打開遠程主機的 /etc/ssh/sshd_config 這個文件,以下幾行取消注釋。

        復(fù)制代碼代碼如下:

        #RSAAuthentication=yes

        #PubkeyAuthentication=yes

        #AuthorizedKeysFile=.ssh/authorized_keys

        然后,重啟遠程主機的 ssh 服務(wù)。

        復(fù)制代碼代碼如下:

        #ubuntu 系統(tǒng)

        $ service ssh restart

        #debian 系統(tǒng)

        $ /etc/init.d/ssh restart

        2 、執(zhí)行 ssh-copy-id 命令時,遠程服務(wù)器的 SSH 服務(wù)端口不是 22 ,如下:

        復(fù)制代碼代碼如下:$ ssh-copy-id nameB@machineB

        ssh: connect to host machineB port 22: Connection refused

        則使用如下命令:

        復(fù)制代碼代碼如下:

        $ ssh-copy-id "-p 22000 nameB@machineB"

        四、補充內(nèi)容:

        復(fù)制代碼代碼如下:

        $ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2

        $ ssh-copy-id -u eucalyptus -i /home/ eucalyptus/.ssh/id_rsa.pub eucalyptus@remote_host

        #-u : 給 eucalyptus 用戶 設(shè)置 無密碼登陸

        # -i : 當沒有值傳遞時或 ~/.ssh/identity.pub 文件不可訪問 ( 不存在 ) ,ssh-copy-id 將顯示 如下錯誤

        /usr/bin/ssh-copy-id: ERROR: No identities found

        SSH 提供兩種方式的登錄驗證:

        1 、密碼驗證:以服務(wù)器中本地系統(tǒng)用戶的登錄名稱,密碼進行驗證。

        2 、秘鑰對驗證:要求提供相匹配的秘鑰信息才能通過驗證。通常先在客戶機中創(chuàng)建一對秘鑰文件 ( 公鑰和私鑰 ) ,然后將公鑰文件放到服務(wù)器中的指定位置。

        注意:當密碼驗證和私鑰驗證都啟用時,服務(wù)器將優(yōu)先使用秘鑰驗證。

        五、SSH服務(wù)的配置文件 :

        sshd 服務(wù)的配置文件默認在 /etc/ssh/sshd_config ,正確調(diào)整相關(guān)配置項,可以進一步提高 sshd 遠程登錄的安全性。

        配置文件的內(nèi)容可以分為以下三個部分:

        復(fù)制代碼代碼如下:

        #SSH服務(wù)器監(jiān)聽的選項

        #監(jiān)聽的端口

        Port 22

        #使用SSH V2協(xié)議

        Protocol 2

        #監(jiān)聽的地址為所有地址

        ListenAdderss 0.0.0.0

        #//禁止DNS反向解析

        UseDNS no

        #用戶登錄控制選項

        #是否允許root用戶登錄

        PermitRootLogin no

        #是否允許空密碼用戶登錄

        PermitEmptyPasswords no

        #登錄驗證時間(2分鐘)

        LoginGraceTime 2m

        #最大重試次數(shù)

        MaxAuthTries 6

        #只允許user用戶登錄,與DenyUsers選項相反

        AllowUsers user

        #登錄驗證方式

        #啟用密碼驗證

        PasswordAuthentication yes

        #啟用秘鑰驗證

        PubkeyAuthentication yes

        #指定公鑰數(shù)據(jù)庫文件

        AuthorsizedKeysFile .ssh/authorized_keys

        查看 SSH 服務(wù)狀態(tài)命令: /etc/init.d/sshd status

        重新啟動 SSH 服務(wù)命令: /etc/init.d/sshd restart

        查看 ssh 軟件的版本號命令: $ ssh -V

        OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 # 表明該系統(tǒng)正在使用 OpenSSH

        ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu # 表明該系統(tǒng)正在使用 SSH2

        當遠程主機的公鑰被接受以后,它就會被保存在文件 $HOME/.ssh/known_hosts 之中。下次再連接這臺主機,系統(tǒng)就會認出它的公鑰已經(jīng)保存在本地了,從而跳過警告部分,直接提示輸入密碼。

        每個 SSH 用戶都有自己的 known_hosts 文件,此外系統(tǒng)也有一個這樣的文件,通常是 /etc/ssh/ssh_known_hosts ,保存一些對所有用戶都可信賴的遠程主機的公鑰。

      138700