分类目录归档:Linux

关于ssh登陆很慢的解决办法

最近使用SSH客户端登录阿里云服务器的时候,输入用户名回车要等半分钟之后才让输入密码,让人抓狂。但是ping的速度很快,连接上之后操作也非常快。

最常见的原因是登录时SSH服务器去根据DNS查询客户端IP地址对应的主机名,如果DNS不可用或者没有相关记录,就会耗费大量时间。解决方法如下:

1、在server上/etc/hosts文件中把你本机的地址和主机名加入(客户端IP是拨号上网,IP地址不固定,这个行不通,继续下面一条即可);

2、在server上/etc/ssh/sshd_config文件中找到UseDNS,缺省情况下这一行注释掉的,默认值是yes;取消注释或加入UseDNS,设置为no

3、service sshd restart即可。

 

server-to-client模式SSH端口转发与sshd_config的配置

因为要调试一个程序,用到了SSH端口转发,长时间卡在server-to-client的转发只能绑定到服务器的127.0.0.1地址,即使在SSH客户端设定了绑定0.0.0.0,Internet用户无法正常访问,百思不得其解。

突然想到这是不是ssh服务器的限制,于是查找ssh的配置选项,终于找到一条,GatewayPorts,缺省为no,表示只能绑定到127.0.0.1,可以改为yes(强制绑定到通配符地址0.0.0.0,即所有接口)或者clientspecified(表示由客户端选择绑定到哪个地址),配置文件的地址在/etc/ssh/ssh_config,修改后,service sshd restart即可。

顺便说一下,Bitvise SSH Client是一个非常好用的工具,而且免费,包含了Socks代理,双向端口转发,terminal,sftp等全套访问Linux服务器的工具。另外有一点,还支持保持多个profile,这是比myEnTrunnel强的地方了。

这样一来,基本上连VPN都不用上了。