這裏是情況:我有一臺機器住在我家(讓我們稱之爲house_machine),並且我的辦公室還有另一臺機器(稱之爲office_machine)。即時通訊使用ssh與dsa密鑰身份驗證和沒有密碼身份驗證從office_machine訪問home_machine。我在home_machine上建立了一個ssh服務器,並將在office_machine上生成的公鑰添加到home_machine上的authorized_keys文件中。這工作正常 - 我可以從office_machine ssh進入home_machine只是使用密鑰,沒有密碼。在兩個不同的帳戶上使用相同的公共ssh密鑰
現在的問題:我想訪問home_machine,當我訪問其他辦事處只需使用屬於office_machine的公鑰。即我想將公鑰(id_dsa.pub)放在USB驅動器上,並將其複製到另一個辦公室的.ssh目錄中。從我在這個網站上看到的,其他人似乎已經能夠做到這種類型的事情,但它不是工作。當我試圖簡單地把id_dsa.pub在新機器上,並做ssh -v [email protected]_machine
調試消息結尾:
debug1: Offering public key: .ssh/id_dsa debug1: Server accepts key: pkalg ssh-dss blen 433 debug1: read PEM private key done: type DSA debug1: Authentications that can continue: publickey debug1: No more authentication methods to try. Permission denied (publickey).
我的臨時解決方案已設置「PasswordAuthentication yes把」在home_machine sshd_config中,只是使用密碼到home_machine。然而這會使使用密鑰授權的地方變得無關緊要。
在此先感謝!
感謝隊友 - 這確實工作。如果你想將id_dsa複製到你的/home/userX/.ssh/目錄,你還需要在登錄時運行'exec/usr/bin/ssh-agent $ SHELL',然後'ssh-add'作爲userX,否則客戶端現在不會關於新的私鑰。 – mulllhausen 2010-11-03 04:37:17
對代理的良好調用 - 不同環境與代理交互的細節(假設它正在使用 - 它不必是)根據操作系統和特定構建而變化很大。或者,(除非您確定該帳戶非常安全,否則我不建議),您可以刪除密鑰上的密碼,然後避免代理人的需要。我使用代理在Linux上啓動我的窗口管理器,所以所有進程都有一個代理連接。 OS X無縫地爲您處理鑰匙串集成和代理。 – 2011-08-19 00:59:31