不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > 教你Linux的遠(yuǎn)程登錄方法和無(wú)密碼登錄方法

教你Linux的遠(yuǎn)程登錄方法和無(wú)密碼登錄方法

時(shí)間: 若木635 分享

教你Linux的遠(yuǎn)程登錄方法和無(wú)密碼登錄方法

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

  一、遠(yuǎn)程登錄方法

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

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

  $ ssh host

  $ ssh username@host

  $ ssh -p 222 username@host

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

  如果是第一次登錄對(duì)方主機(jī) , 則系統(tǒng)會(huì)出現(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)?

  這段話是說(shuō),無(wú)法確認(rèn) host 主機(jī)的真實(shí)性,只知道它的公鑰指紋,問(wèn)你還想繼續(xù)連接嗎?

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

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

  然后要求輸入密碼:

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

  $ Password: (enter password)

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

  二、無(wú)密碼登錄方法

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

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

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

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

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

  $ ssh-keygen

  # 以上命令等價(jià)于 ssh-keygen -t rsa

  #-t: 指定密鑰的類(lèi)型 , 默認(rèn)為 SSH-2 的 rsa 類(lèi)型 ;

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

  2 、將公鑰傳送到遠(yuǎn)程主機(jī) host 上面 ;

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

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

  三、常見(jiàn)問(wèn)題:

  1、 生成密鑰并上傳至遠(yuǎn)程主機(jī)后,仍然無(wú)法實(shí)現(xiàn)無(wú)密碼登錄?

  打開(kāi)遠(yuǎn)程主機(jī)的 /etc/ssh/sshd_config 這個(gè)文件,以下幾行取消注釋。

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

  #RSAAuthentication=yes

  #PubkeyAuthentication=yes

  #AuthorizedKeysFile=.ssh/authorized_keys

  然后,重啟遠(yuǎn)程主機(jī)的 ssh 服務(wù)。

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

  #ubuntu 系統(tǒng)

  $ service ssh restart

  #debian 系統(tǒng)

  $ /etc/init.d/ssh restart

  2 、執(zhí)行 ssh-copy-id 命令時(shí),遠(yuǎn)程服務(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"

  四、補(bǔ)充內(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è)置 無(wú)密碼登陸

  # -i : 當(dāng)沒(méi)有值傳遞時(shí)或 ~/.ssh/identity.pub 文件不可訪問(wèn) ( 不存在 ) ,ssh-copy-id 將顯示 如下錯(cuò)誤

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

  SSH 提供兩種方式的登錄驗(yàn)證:

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

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

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

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

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

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

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

  #SSH服務(wù)器監(jiān)聽(tīng)的選項(xiàng)

  #監(jiān)聽(tīng)的端口

  Port 22

  #使用SSH V2協(xié)議

  Protocol 2

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

  ListenAdderss 0.0.0.0

  #//禁止DNS反向解析

  UseDNS no

  #用戶登錄控制選項(xiàng)

  #是否允許root用戶登錄

  PermitRootLogin no

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

  PermitEmptyPasswords no

  #登錄驗(yàn)證時(shí)間(2分鐘)

  LoginGraceTime 2m

  #最大重試次數(shù)

  MaxAuthTries 6

  #只允許user用戶登錄,與DenyUsers選項(xiàng)相反

  AllowUsers user

  #登錄驗(yàn)證方式

  #啟用密碼驗(yàn)證

  PasswordAuthentication yes

  #啟用秘鑰驗(yàn)證

  PubkeyAuthentication yes

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

  AuthorsizedKeysFile .ssh/authorized_keys

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

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

  查看 ssh 軟件的版本號(hào)命令: $ 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

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

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

138700