ssh 安裝及登入提示:connection refused的解決辦法

iteye_3156發表於2011-12-28

轉載請註明出處:http://hi.baidu.com/leejun_2005/blog/item/fbc27c4b20e83d3a08f7ef23.html?timeStamp=1309179713928

fromhttp://hi.baidu.com/tunaisen/blog/item/85e0a41805ed9fb24bedbcf3.html

如果出現ssh: connect to host XX.XX.XX.XX port 22: Connection refused

請按如下步驟檢查:

1、目標主機的ssh server端程式是否安裝、服務是否啟動,是否在偵聽22埠;

檢查方法:

june@ubuntu:~$ ps -ef|grep sshd

root      2859     1  020:29 ?        00:00:00 /usr/sbin/sshd -D

root      2901  2859  020:31 ?        00:00:00 sshd: june[priv]   

june      2971  2901  020:31 ?        00:00:00 sshd:june@pts/1    

june@ubuntu:~$

其中/usr/sbin/sshdssh clinet/serverserver端的守護程式,如果上述結果中沒有sshd出現,那麼可能就是你的server端程式沒有安裝(Ubuntu 11.04 預設沒有安裝ssh server,只安裝了ssh client),或者sshd服務沒有啟動,這兩者的解決辦法請見下文詳述。
2、是否允許該使用者登入;
3
、本機是否設定了iptables規則,禁止了ssh的連入/連出;

檢查方法:

june@ubuntu:~$sudo  iptables -L

[sudo] password for june: 

Chain INPUT (policy ACCEPT)

target    prot opt source               destination         

ACCEPT    tcp  --  anywhere             anywhere            tcp dpt:ssh 

 

Chain FORWARD (policy ACCEPT)

target    prot opt source              destination         

 

Chain OUTPUT (policy ACCEPT)

target    prot opt source              destination         

june@ubuntu:~$
4
、查查ssh的配置檔案

 ls -lrt /etc/ssh

針對第一點沒有安裝ssh server或者沒開啟sshd的使用者,可以參考這篇:

Ubuntu如何開啟SSH服務

SSH分客戶端openssh-clientopenssh-server
  
如果你只是想登陸別的機器的SSH只需要安裝openssh-clientubuntu有預設安裝,如果沒有則sudo apt-get install openssh-client),如果要使本機開放SSH服務就需要安裝openssh-serversudo apt-get install openssh-server然後確認sshserver是否啟動了:
ps -e |grep ssh
  
如果看到sshd那說明ssh-server已經啟動了。
  
如果沒有則可以這樣啟動:sudo /etc/init.d/ssh start
ssh-server
配置檔案位於/etc/ssh/sshd_config,在這裡可以定義SSH的服務埠,預設埠是22,你可以自己定義成其他埠號,如222
  
然後重啟SSH服務:
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start

  
然後使用以下方式登陸SSH
ssh tuns@192.168.0.100    tuns
192.168.0.100機器上的使用者,需要輸入密碼。
  
斷開連線:exit

相關文章