【虚拟机ubuntu设置ssh】ssh连不上问题解决方法

时间:2024-03-12 16:50:19

 

首先,确保server端的ssh服务是开的(service shhd start)

然后在client端输入: ssh usrname@serverip (远程登录)

scp filename usrname@serverip:/URL (远程传输)

常出现的问题:

1.端口失效

# ssh 192.168.***.**

ssh: connect to host 192.168.***.** port 22: No route to host

这由于server端没有开机或是网络不通(这个原因很多,最简单的是网线没有插。还有就是可能会是网卡down了等)如果是网卡down了ifup相应的网卡再试试

2.linux的ssh服务没有开启

首先确保要登录的主机安装了openssh-client

(ubuntu有默认安装,如果没有则输入安装命令

sudo apt-get install openssh-client

如果要使本机开放SSH服务就需要安装 openssh-server

sudo apt-get install openssh-server

server安装过程中可能会出现问题如下:

 

Reading package lists… Done  
Building dependency tree  
Reading state information… Done  
Package openssh-server is not available, but is referred to by another package.  
This may mean that the package is missing, has been obsoleted, or  
is only available from another source  
E: Package openssh-server has no installation candidate 

 

 重新运行以下的代码

    sudo apt-get update  
    sudo apt-get upgrade  
    sudo 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 zhou@192.168.***.** zhou为192.168.***.**机器上的用户,需要输入密码。
断开连接:exit

3.

ssh到server上的时候密码是对的但是报如下信息:

 

# ssh 192.168.***.**

 

root@192.168.***.**\'s password:

 

Permission denied, please try again.

这个是由于如果不输入用户名的时候默认的是root用户,但是安全期间ssh服务默认没有开root用户的ssh权限

解决方法:

要修改root的ssh权限,即修改 /etc/ssh/sshd_config文件中

PermitRootLogin no 改为 PermitRootLogin yes

vim /etc/ssh/sshd_config

 

找到

# Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes

      改成

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

然后重启服务

/etc/init.d/ssh restart 

4.

登录是出现如下提示:

ssh root@192.168.***.**

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the RSA host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

76:fb:b3:70:14:48:19:d6:29:f9:ba:42:46:be:fb:77.

Please contact your system administrator.

Add correct host key in /home/fante/.ssh/known_hosts to get rid of this

message.

Offending key in /home/fante/.ssh/known_hosts:68

RSA host key for 192.168.***.** has changed and you have requested strict checking.

Host key verification failed.

 

server端密码或是其他发生改变的时候。

解决方法一般就需要删除~/.ssh/known_hosts的东西,然后再登录即可。

 

 

 

5.

ssh root@192.168.23.48

Connecting to 192.168.23.48:22...
Could not connect to \'192.168.23.48\' (port 22): Connection failed.

Type `help\' to learn how to use Xshell prompt.

第一种情况:

因为防火墙的原因导致的

第1查看   service iptables status

说明当前没有开启 如果有开启的话则关闭当前的防火墙 /etc/init.d/iptables stop

 之后要重启可以 service iptables  start

第2查看

sudo ufw status

发现目前的系统只是支持8080端口的访问,可以将ssh的端口访问加入 ufw allow 22

加入22端口之后可以正常访问