linux ssh无法连接。连接上的没问题。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux ssh无法连接。连接上的没问题。相关的知识,希望对你有一定的参考价值。

ssh -v 192.168.0.145
OpenSSH_3.6.1p2, SSH protocols 1.5/2.0, OpenSSL 0x0090701f
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Rhosts Authentication disabled, originating port will not be trusted.
debug1: Connecting to 192.168.0.145 [192.168.0.145] port 22.
debug1: Connection established.
debug1: identity file /home/admins/aria/.ssh/identity type -1
debug1: identity file /home/admins/aria/.ssh/id_rsa type -1
debug1: identity file /home/admins/aria/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.6.1p2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST 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.0.145' is known and matches the RSA host key.
debug1: Found key in /home/admins/aria/.ssh/known_hosts:5
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/admins/aria/.ssh/identity
debug1: Trying private key: /home/admins/aria/.ssh/id_rsa
debug1: Trying private key: /home/admins/aria/.ssh/id_dsa
debug1: Next authentication method: password
aria@192.168.0.145's password:
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Permission denied, please try again.
aria@192.168.0.145's password:
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: channel_free: channel 0: client-session, nchannels 1
Read from remote host 192.168.0.145: Connection reset by peer
Connection to 192.168.0.145 closed.
debug1: Transferred: stdin 0, stdout 0, stderr 100 bytes in 0.0 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 16241.8
debug1: Exit status -1
Accepted password for aria from 1.1.1.1 port 63477 ssh2
pam_unix(sshd:session): session opened for user aria by (uid=0)
fatal: setresuid 500: Resource temporarily unavailable
pam_unix(sshd:session): session closed for user aria

1、搜一下:ssh Read from remote host Connection reset by peer
2、SSH有一个 ClientAliveInterval 参数,在你的 /etc/ssh/sshd_config 配置文件中设置一个合适的值,比如:ClientAliveInterval 115 就可以让 OpenSSH 服务器端在空闲的时候定时向客户端请求一个数据包。
ISP或网关在使用NAT时,有时NAT设备会检测建立的session,如果无数据传输,就会拆掉该session,体现在ssh登录时,就会出现没有操作时无缘无故的断线。在NAT转换时,默认无传输session存活周期为120秒,把ClientAliveInterval值设成了115秒,这样就解决了SSH容易掉的问题!
参考技术A 貌似 "Read from remote host 192.168.0.145: Connection reset by peer" 表明服务端的 sshd 在 respawn 的时候资源不够而退出了, 所以需要检查一下服务端的 sshd 日志看看咋了 ...追问

fatal: setresuid 500: Resource temporarily unavailable

这个大概会是什么原因引起的?

追答

恰如 "chassisd | 十级" 所言, "fatal: setresuid 500: Resource temporarily unavailable" 就是表明需要调用的资源暂时不够了, 是达到了与 nproc 有关的软设置上限, 适当配置 limits.conf 里的 nproc 数值即可 ...

本回答被提问者采纳
参考技术B 看看你/etc/security/limits.conf里是否有用户数的限制。比如下面的:
* soft nproc 100
* hard nproc 150
到了100个用户,就会报下面的错:
sshd[21872]: Accepted password for user from 192.168.1.1 port 56193 ssh2
sshd[21875]: fatal: setresuid 500: Resource temporarily unavailable

redhat linux在局域网内别的机器可以正常通过ssh连接上,使用外网IP后无法连接

A电脑:操作系统redhat linux5.3 内网IP:192.168.0.99
B电脑:操作系统win7 内网IP:192.168.0.51
外网是固定IP
局域网内使用的是d-link di-7100企业级路由器
对端口21-23做了映射
如图

用B电脑ssh连接A电脑时用内网IP可以连接上
如图

但B电脑ssh连接A电脑时用外网IP就无法连接上
端口映射应该是没问题的。
请问是什么原因啊,该如何处理?

内网连接成功说明ssh服务没有问题,可能的问题是nat、路由或边界访问控制。
请做如下测试:
1、在redhat linux上开启tcpdump进行数据包抓取,具体如下:tcpdump -n "tcp port 22";
2、在外网对redhat nat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下有数据包出现,则说明你的nat没有问题。请确认在redhat上是否有正确设置网关。
3、在外网对redhat nat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下没有数据包出现,则说明你的nat有问题,或者在路由器上是否存在访问控制策略,请检查。追问

没有抓到包,好像是nat的问题,nat问题我该如何解决呢?

包抓到了,网关我是设置的我路由器的IP,应该是这样设置吧

抓到包了,只有网关到机器的包,不是双向包

追答

你好,如果是NAT的问题,请参考路由器配置手册,确保将内网redhat的IP地址及端口正确映射为外部接口的地址,这种情况建议使用静态NAT配置(在dlink中为一对一规则,刚才看了下官网的手册)。另外请在redhat上配置网关,指向路由器内部接口。
应该就没什么问题了

追问

加了一对一规则了,也不管用,有Q吗?再追加100给你

搞定了,我网关绑了mac,这机器两网卡,放行的网卡的mac和不放行的搞反了

真是折腾死我了,谢谢你了

参考技术A 外网是连接不上内网的,它没有内网的路由,路由只能到内网出口的IP地址。追问

我通过路由端口映射过来了,这个应该是没有问题才是啊

追答

能Ping过来么?还有,路由器有没有设置防火墙?

追问

路由器是没有防火墙的,ping 没有问题

参考技术B 换个ssh端口试试追问

ssh端口咋换?

追答

/etc/sshd_config

追问

换端口没用

以上是关于linux ssh无法连接。连接上的没问题。的主要内容,如果未能解决你的问题,请参考以下文章

linux下ssh无法连接的原因

Linux无法连接上127.0.0.1,拒绝连接,更新时提示无法下载,无法正常使用apt-get update

关于Jedis无法连接上Linux上Redis问题

xshell 5 连接上输入不了命令怎么回事

运用 crt 连接linux服务器,为啥每次都需要重启ssh服务才能连接上???

用ssh工具连接linux时出现以下报错代码,但是有时候有能连接上,不知神马原因,请各位神友指教指教 谢谢