ENV:的authorized_keys的權限只有否認,如果我創建的文件,當我安裝其他操作系統的磁盤
VM答:我想:我想出來的密碼
VM B訪問本機
正如我想沒有密碼從VM B訪問VM A,我想先注射:從機器
問題描述訪問VM A沒有密碼VM B的公鑰加入VM A,但如果我使用ssh-copy,我仍然需要密碼,所以我嘗試通過mount注入文件。
步驟:
- 啓動虛擬機A從LiveCD的
- 安裝VM A的根磁盤(包含OS)
- 下創建一個$ authorized_keys文件{}裝入點/root/.ssh/
- 將VM B的公鑰鎖定到authorized_keys文件中
- 停止VM A並移除LiveCD,然後再次啓動VM A 次
訪問從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可以訪問虛擬機一個沒有密碼
問題:
的屬性的authorized_keys和authorized_keys_bak都是一樣的,爲什麼一個作品,一個不工作?
我authorized_keys只有當我創建的文件不是從LiveCD安裝時才能工作?
客戶端中的公鑰與服務器中的密鑰相同。並且在主機名中也沒有問題,就像我在服務器中執行以下命令一樣。客戶端將可以訪問服務器,而無需密碼 MV的authorized_keys authorized_keys_bak CP authorized_keys_bak的authorized_keys – maggiexiang 2014-09-23 06:08:44
我猜問題是與安裝爲位置可能不會在進程中運行sshd的訪問。 – 2014-09-23 06:23:35
當我從服務器運行ssh時,客戶端已經正常啓動,而不是從LiveCD啓動,所以你的意思是在安裝過程中創建文件應該存在一些問題? – maggiexiang 2014-09-23 08:34:00