【虚拟机ubuntu设置ssh】ssh连不上问题解决方法
首先,确保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端口之后可以正常访问