SSH无法登陆服务器,但是可以ping通,解决方法

在打通虚拟机之间的ssh无密码登录时出现的问题,每次尝试登陆都会提示错误:Permission denied 。历时一天多,我终于把问题搞定,期间百度了很多人的方法,也受到启发,其实是很简单的一个原理,今天就跟大家一起分享下吧,也算是做个记录。

开始走了很多误区,重复设置sshd_config,vsftpd.conf 等等文件,找不出问题出在哪。

因为 ssh localhost 时 可以连通,ssh 192.168.1.10时就不行

ssh  localhost 如下

ssh 192.168.1.10如下

总结:因为localhost是本机,本机有正确的密钥,所以能连上,而那个则没有,因为来没有传,也没办法传,因为现在无法连通,所以现在要解决连通问题。

后来通过 ssh -v  查看了连接记录,有所收获,对比如下

ssh localhost(只截取了一部分)

debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host ‘localhost‘ is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:2
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file ‘/tmp/krb5cc_0‘ not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file ‘/tmp/krb5cc_0‘ not found
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Last login: Wed May 13 01:13:48 2015 from localhost

ssh 192,168,1,10

debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host ‘192.168.1.10‘ is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file ‘/tmp/krb5cc_0‘ not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file ‘/tmp/krb5cc_0‘ not found
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: No more authentication methods to try.  
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

这句很重要,说明除了验证密钥的方式,没有其他方式可以选择,而现在没传公钥所以链接是注定失败的 ,那么我们就要添加一个方式就是 密码验证方式,到这里我就恍然大悟了,需要设置passwordauthority yes !!!!

解决方式:

打开ssh配置文件修改

命令:vim /etc/ssh/sshd_config

其中有一项 passwordauthority ,这个要注意了,我们设置无密码登录就需要把本机的公钥传到服务器上去,加入服务器的authorized_keys文件里,才可以访问到此服务器,如果passwordauthority no 就不允许ssh进行密码访问,所以这个设置不能过早的设置。

正确的顺序是:

1、passwordauthority yes;

2、把公钥id_rsa.pub传到服务器上,命令:scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/

3、把公钥追加到authorized_keys里,命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

4、更改授权,命令:chmod 600 ~/.ssh/authorized_keys

5、passwordauthority no //此时再更改为不许密码登陆,使用密钥即可。

反思:除了跟着网上步骤一步步做,还需要自己思考,知道how还要知道why,这样才能把握住问题,灵活应变。

ps:最近挺累的,真的,尤其,夏天又到了,看着别的菇凉穿的美美的,我好想去逛街,啊啊,好想穿着裙子美美的出去玩耍~~%>_<%,哎,but,i can‘t !

不过还好,坚持学习的这段时间,每天都有进步,也都有新的收获,加油吧。gogo!!

over 成功连接~!!

时间: 2024-12-18 12:54:23

SSH无法登陆服务器,但是可以ping通,解决方法的相关文章

ssh无密码登陆服务器

网上该类教程很多,但还是记录下,方便以后查询的时候使用. 两台服务器,内网ip分别是: 172.16.3.91 (本地机) 172.16.3.92 (远程机) 现在想在本地机上通过ssh 172.16.3.92登陆到远程机而不需要密码. 1.在本地机上用ssh-keygen 创建公钥私钥. [[email protected] ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to

修改ubuntu和windows的ip地址使二者能相互ping通的方法 &nbsp;

一,永久修改ubuntu的ip地址的方法: ubuntu的网络配置信息保存在/etc/network/interfaces 下,应此要永久地修改ubuntu的ip地址首先必须修改这个配置文件,打开ubuntu的终端登录root权限,然后输入命令:geany /etc/network/interfaces 打开这个配置文件,把下面的内容复制进去并替换里面原有的内容: # interfaces(5) file used by ifup(8) and ifdown(8) auto eth0   #if

搭建VPN服务器或 出现733错误解决方法[验证]

搭建VPN服务器出现733错误解决方法[验证]   昨晚用Windows 2003单网卡用花生壳实现VPN,搭建好VPN服务器后(记得把防火墙和WINDOWS连接共享服务关掉哦,在WINDOWS 2003中服务名为:Windows Firewall/Internet Connection Sharing),注册好花生壳(这真是个好东本啊),尝试远程连接时出现错误信息:TCP/IP CP报告了错误733,不能完成到远程计算机的连接, 没有就ppp协议成功.怎么回事呢?百度了一下!原来VPN服务器不

《DDNS服务器的搭建和案例解决方法》

DDNS原理:DNS + DHCP =DDNS DHCP负责ip解析,和分配给客户机ip,ip为随机数. DNS负责域名解析,A记录里记录了每个ip对应的域名. 客户端ip肯定是变化的,不可能一直使用一个ip,所以当客户端的ip变时,使用DDNS服务,同时通知DNS的A记录,使他也同步更新,否则别人访问你的域名时找不到你的这台主机. 测试的环境:建立在DNS加密更新配置完好. DHCP默认安装好软件包是启动不了的. DHCP服务配置文件的有效行: "example.Com"这个域使用的

putty生成密钥SSH远程登录注意步骤及报错解决方法

putty生成密钥SSH远程登录注意步骤及报错解决方法 报"Putty server refused our key"(解决)排查步骤: 1..ssh文件夹权限和authorized_keys文件权限 1-1创建.SSH目录及authorized_keys文件 mkdir –p /root/.ssh touch authorized_keys 1-2 修改目录及文件权限 Chmod 700 .ssh Chmod 600 authorized_keys 2. Selinux安全机制和Ip

Erlang服务器内存吃紧的优化解决方法

问题提出:服务器100万人在线,16G内存快被吃光.玩家进程占用内存偏高 解决方法: 第一步: erlang:system_info(process_count). 查看进程数目是否正常,是否超过了erlang虚拟机的最大进程数. 第二步: 查看节点的内存瓶颈所在地方 > erlang:memory(). [{total,2099813400}, {processes,1985444264}, {processes_used,1985276128}, {system,114369136}, {a

使用 Python ssh 远程登陆服务器的最佳方案

首发自公.众.号:Python编程时光 在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果. 在 shell 环境中,我们是这样子做的. $ sshpass -p ${passwd} ssh -p ${port} -l ${user} -o StrictHostKeyChecking=no xx.xx.xx.xx "ls -l" 然后你会发现,你的输出有很多你并不需要,但是又不去不掉的一些信息(也许有方法,请留言交流),类似这样

SVN使用svn+ssh协议连接服务器时重复提示输入密码 解决办法

TortoiseSVN使用svn+ssh协议连接服务器时重复提示输入密码 当使用svn+ssh协议连接svn服务器时,ssh会提示请求认证,由于不是svn客户端程序来完成ssh的认证,所以不会缓存密码. 而svn客户端通常会建立多个版本库的连接,当密码没有缓存的时候,就会重复不断的提示输入密码. 解决办法是在TortoiseSVN的网络设置里指定SSH客户端使用TortoisePlink.exe并增加-pw password参数和-l username参数. 最终的命令行如下: “C:Progr

Server2008 外网ping不通解决方法

最近给一个企业做网站,刚刚买的服务器,连上了外网,但是无法ping通. 经过网上查阅资料发现,server08的ping默认没有打开,需要手动设置才可以使用ping命令. 步骤如下: 1.计算机 右键 管理: 找到图中的选项 2. 双击打开,把已启用勾选即可 版权声明:本文为博主原创文章,未经博主允许不得转载.

VPS服务器升级原则及故障解决方法

随着信息化建设的飞速发展,很多企业意识到自己的服务器已经不能满足自己发展的需要了.某公司服务器会经常出现宕机等情况,其原因是服务器不能承担更多的用户访问数量.还有处理器因为过于陈旧会出现资源占用率过高的情况.而且旧机器成本更高,所以需要对VPS服务器进行升级.我们需要注意升级的原则以及故障解决方法. 一.服务器升级原则 1. 服务器升级的目的是解决系统某一方面的瓶颈,但是升级的结果不能造成新的系统瓶颈. 升级时应该考虑针对的是服务器哪一方面的瓶颈,但是从应用来说,不能因为简单的升级某一部件,而造