2014-09-23 34 views
0

ENV:的authorized_keys的權限只有否認,如果我創建的文件,當我安裝其他操作系統的磁盤

VM答:我想:我想出來的密碼

VM B訪問本機

正如我想沒有密碼從VM B訪問VM A,我想先注射:從機器

問題描述訪問VM A沒有密碼VM B的公鑰加入VM A,但如果我使用ssh-copy,我仍然需要密碼,所以我嘗試通過mount注入文件。

步驟:

  1. 啓動虛擬機A從LiveCD的
  2. 安裝VM A的根磁盤(包含OS)
  3. 下創建一個$ authorized_keys文件{}裝入點/root/.ssh/
  4. 將VM B的公鑰鎖定到authorized_keys文件中
  5. 停止VM A並移除LiveCD,然後再次啓動VM A
  6. 訪問從VM B通過命令

    SSH -o UserKnownHostsFile =的/ dev/null的-o StrictHostKeyChecking =沒有-o的PasswordAuthentication =沒有[email protected]

的VM A結果:

debug2: we did not send a packet, disable method 
debug3: authmethod_lookup publickey 
debug3: remaining preferred: keyboard-interactive 
debug3: authmethod_is_enabled publickey 
debug1: Next authentication method: publickey 
debug1: Trying private key: /root/.ssh/identity 
debug3: no such identity: /root/.ssh/identity 
debug1: Offering public key: /root/.ssh/id_rsa 
debug3: send_pubkey_test 
debug2: we sent a publickey packet, wait for reply 
debug3: Wrote 368 bytes for a total of 1645 
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password 
debug1: Trying private key: /root/.ssh/id_dsa 
debug3: no such identity: /root/.ssh/id_dsa 
debug2: we did not send a packet, disable method 
debug1: No more authentication methods to try. 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 

但我下面的命令後,它的工作原理(文件方式與diff命令所有的600,而不是差)

mv authorized_keys authorized_keys_bak 
cp authorized_keys_bak authorized_keys 

,所以我嘗試再次注資,但這個時候,我創建的LiveCD啓動前的空authorized_keys文件,並跳過步驟3,其他步驟都是一樣的,這一次的VM B可以訪問虛擬機一個沒有密碼

問題:

  1. 的屬性的authorized_keys和authorized_keys_bak都是一樣的,爲什麼一個作品,一個不工作?

  2. 我authorized_keys只有當我創建的文件不是從LiveCD安裝時才能工作?

回答

0

ssh-copy-id將要求您輸入密碼一次,以便將密鑰注入遠程系統。

您顯示的日誌來自ssh客戶端。我們還需要ssh服務器日誌以檢查爲什麼ssh服務器無法驗證用戶憑證。

從客戶端日誌,我們可以說,它已經嘗試了基於publickey的(沒有密碼)身份驗證,但它失敗了(意味着被服務器拒絕)。所以剩下的方法是「鍵盤交互式」(服務器支持),但客戶端不支持它,所以沒有認證方法來嘗試失敗。

你能還要檢查以下東西的工作&非工作之情況

檢查用戶的客戶端和服務器的公鑰被用於驗證 客戶端 - > /users//.ssh/id_rsa.pub 上服務器 - >/etc/ssh/authorized_keys(爲您的用戶名查詢條目)

+0

客戶端中的公鑰與服務器中的密鑰相同。並且在主機名中也沒有問題,就像我在服務器中執行以下命令一樣。客戶端將可以訪問服務器,而無需密碼 MV的authorized_keys authorized_keys_bak CP authorized_keys_bak的authorized_keys – maggiexiang 2014-09-23 06:08:44

+0

我猜問題是與安裝爲位置可能不會在進程中運行sshd的訪問。 – 2014-09-23 06:23:35

+0

當我從服務器運行ssh時,客戶端已經正常啓動,而不是從LiveCD啓動,所以你的意思是在安裝過程中創建文件應該存在一些問題? – maggiexiang 2014-09-23 08:34:00

相關問題