zoukankan      html  css  js  c++  java
  • 关于Ubuntu远程ssh连接失败的问题

    在做机器人项目的时候,用的是Ubuntu的linux,跟之前的CentOS的操作命令有一点差别,就比如防火墙的名字,在Ubuntu系统中叫什么ufw,真是有点不好接受。

    为了能模拟环境,我又弄了一台电脑,但是老在两个电脑之间切换很费劲。于是想利用PieTTY这个软件进行远程的SSH连接。但是怎么都连接不上,老是denied。两个OS能相互的ping通,防火墙什么的都关闭了,怎么还能连不上呢?于是Google了一下。


     首先我的这台机器是已经关闭了防火墙,甚至直接卸载了防火墙的:

    ufw disable
    apt-get remove iptables

    网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务。最终成功的方法如下:

    sudo apt-get install openssh-server

    Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。

    然后确认sshserver是否启动了:

    ps -ef | grep ssh

    如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。

    ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:

    如果ssh-server没有启动成功,那么可以重启系统,这样ssh的服务器就打开了。


    在实际的使用中还发生一些例外,那就是利用其它的user是可以登陆ssh的,但是利用root用户不能登陆ssh,问题的原因就是ssh的配置出现了问题,需要额外的配置一下ssh的服务器。

    1.Ubuntu的root用户默认是没有密码的,所以要为root用户增加新的密码,或者修改root密码:

    sudo passwd root
    

    2.切换到root用户,修改 /etc/ssh/sshd_config:

    xxx@ubuntu14:~$ su - root
    Password:
    root@ubuntu14:~# vi /etc/ssh/sshd_config
    

    3.注释掉 #PermitRootLogin without-password,添加 PermitRootLogin ye

    # Authentication:
    LoginGraceTime 120
    #PermitRootLogin without-password
    PermitRootLogin yes
    StrictModes yes
    

    4.重启 ssh  服务

    root@ubuntu14:~# sudo service ssh restart
    ssh stop/waiting
    ssh start/running, process 1499
    root@ubuntu14:~#
    
  • 相关阅读:
    margin、padding单位百分比
    Javascript CustomEvent
    javascript 复制数组
    gulp 小坑一个
    Gulp livereload
    node入门笔记
    jQuery操作input改变value属性值
    阅读笔记-A Message To Garcia
    读书笔记-忆见未来
    js this pointer 指针
  • 原文地址:https://www.cnblogs.com/stemon/p/4462543.html
Copyright © 2011-2022 走看看