2014-09-05 66 views
0

我在VirtualBox中運行一個ubuntu 14.04 vm。ubuntu 14.04公鑰認證不起作用

我想設置公鑰認證。

我獲得與-vvv參數如下調試信息:

[email protected]:/var/log$ ssh -vvv localhost 
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 19: Applying options for * 
debug2: ssh_connect: needpriv 0 
debug1: Connecting to localhost [127.0.0.1] port 22. 
debug1: connect to address 127.0.0.1 port 22: Connection refused 
ssh: connect to host localhost port 22: Connection refused 

我搜索一些論壇,發現一個建議,我確認我的主目錄,的〜/ .ssh和的〜/ .ssh/authorized_keys中文件只能由我自己寫,這是真的。

有人有什麼建議嗎?

+1

顯然sshd沒有監聽端口22.你安裝了服務器嗎?/etc/ssh/sshd_config是否正確?還要查看'/ var/log/auth.log'中的日誌錯誤。 – Perseids 2014-09-05 08:58:16

+0

你是對的。我GOOGLE和安裝sshd使用此頁上的信息: [Ubuntu的sshd安裝頁面](https://help.ubuntu.com/10.04/serverguide/openssh-server.html)。 謝謝! 你可以發佈這個答案,所以我可以接受嗎? – 2014-09-05 15:59:26

回答

0

顯然SSH服務器sshd沒有監聽端口22.你安裝了它嗎? (這樣做的指導,由Peter建議:https://help.ubuntu.com/14.04/serverguide/openssh-server.html

sshd不啓動的其他原因可能是/etc/ssh/sshd_config中的錯誤配置。錯誤消息應該出現在/var/log/auth.log日誌文件中。或者,您可以嘗試運行sudo service ssh start。錯誤信息也應該打印在當前窗口中。

最後,sshd可能正在偵聽非默認端口。但是,通常情況下,您會意識到這一點,因爲它需要手動更改配置。通過調用sudo netstat -tulpen可以獲得所有開放端口的概述。在違約情況下,您將在Program name列中有sshd行,在LocalAddress列中有0.0.0.0:22。這意味着sshd正在偵聽端口22上的所有可用ipv4接口(0.0.0.0)(:22)。如果您在那裏找到不同的端口(例如12345),則可以使用-p標誌(ssh localhost -p 12345)告訴ssh連接到它。