Linux SSH端口更改和SSH远程连接服务慢原因排查

Linux SSH端口更改和优化

为什么需要更改SSH默认连接端口

Windows服务器的默认远程管理端口是3389,Linux服务器的默认端口是22。如果在公网上,经常会被工具扫,这是不安全的,为了系统安全,需要更改默认的配置。

Linux 6 操作过程

更改配置文件

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori   更改配置前备份
# vi /etc/ssh/sshd_config                            编辑sshd_config
####添加如下内容####
Port 58400
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no

以上修改完成后,保存退出。

说明??:

参数 说明
Port 指定sshd守护进程监听的端口号,默认为22。默认在本机的所有网络接口上监听,也可以通过ListenAddress指定只在某个特定的接口上监听。端口范围:0-65535,不能与已有的服务器端口冲突。
PermitRootLogin 是否允许root登录。可用值如下:“yes”(默认)表示允许;“no”表示禁止;“without-password”表示禁止使用密码认证登录;“forced-commands-only”表示只有在指定了command选项的情况下才允许使用公钥认证登录,同时其它认证方法全部被禁止,这个值常用于做远程备份之类的事情
PermitEmptyPasswords 是否允许密码为空的用户远程登录。默认为“no”
UseDNS 指定sshd是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP地址真实对应。默认值为“yes”。建议改成“no”,否则可能导致ssh连接很慢
GSSAPIAuthentication no 解决Linux之间使用ssh远程连接慢的问题

重启sshd

执行如下命令重启sshd,使配置生效:

# /etc/init.d/sshd reload
Reloading sshd:                                            [  OK  ]
# /etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

说明??:reload为平滑重启,不影响正在ssh连接的其他用户,因此要好于restart。

Linux 7 操作过程

更改配置文件

如同 Linux 6 操作一样

重启sshd

systemctl reload sshd   #平滑重启
systemctl restart sshd  #重启sshd

SSH远程连接服务慢原因排查

连接慢的主要原因是DNS解析导致

处理方法:

在ssh服务端上更改/etc/ssh/sshd_config文件中的配置为如下内容:

UseDNS no
# GSSAPI options
GSSAPIAuthentication no

重启sshd进程使上述配置生效。

如果上述处理方法作用不大或无效,请进行如下操作:

检查ssh服务端上/etc/hosts文件中,127.0.0.1对应的主机名是否和uname -n的结果一样,或者把本机ip和hostname(uname -n结果)加入到/etc/hosts里。

# uname -n
wtf.datagrand.com
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.246.171  wtf.datagrand.com

利用ssh-v的调试功能查找慢的原因

具体排查命令如下:

?  ~ ssh -v [email protected]
OpenSSH_7.3p1, LibreSSL 2.4.1
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: Connecting to 192.168.246.171 [192.168.246.171] port 22.
debug1: Connection established.
debug1: identity file /Users/wtf/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/wtf/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/wtf/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/wtf/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/wtf/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/wtf/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/wtf/.ssh/id_ed25519 type -1
.....

然后看下上述步骤具体卡在哪处。。

参考文档

linux下SSH远程连接服务慢解决方案

Linux 更改SSH端口

原文地址:http://blog.51cto.com/wutengfei/2287991

时间: 2024-12-30 03:39:01

Linux SSH端口更改和SSH远程连接服务慢原因排查的相关文章

linux基础学习-8.1-无法远程连接服务器常见原因

1.看路是否通畅 ping 服务器的ip地址(windows) 命令:ip显示网络信息 ip address === ip a 显示网卡信息 ip address show eth0 ===ip a s eth0 显示某块网卡的信息 2.是否有人打劫 防火墙和selinux是否关闭 3.查看是否有人提供服务 服务器的22端口是否开启 windows: 1#telnet 10.0.0.200 22 Linux: ss -lntup #显示系统中已经开启的端口 ss -lntup |grep 22

linux中修改ssh端口和禁止root远程登陆设置

linux中修改ssh端口和禁止root远程登陆设置 查看下系统版本 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 修改配置文件 linux修改端口22vim /etc/ssh/sshd_config找到#port 22将前面的#去掉,然后修改端口 port 1234重启服务就OK了service sshd restart或/etc/init.d/ssh restart为增强安全先增加一个普通权

安装Linux教程和使用putty进行远程连接

安装Linux教程和使用putty进行远程连接 使用VMwareWorkstationPro创建新的虚拟机,如图所示:点击"创建新的虚拟机"进入到如下界面,选择自定义即可: 直接点击下一步即可:之后会进入到如下界面(可以直接选择安装程序光盘映像文件,这里是稍后安装,先用虚拟机创建一个空白硬盘): 因为这里是安装Linux系统,所以选择Linux(L)版本选择Red Hat Linux 6,因为这是面向企业用户的Linux操作系统接下来创建虚拟机名称(名字自定义即可)接下来设置处理器配置

Sql Server 2005的1433端口打开和进行远程连接

参考地址:http://topic.csdn.net/u/20090828/16/e693935a-99b7-4090-a6bc-0123c91183eb.html 1.如何打开sql server 2005 的1433端口配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和&

Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)

# 安装rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd sed -i 's/65536/65535/g' rinetd.c (修改端口范围) mkdir /usr/man&&make&&make install 说明:IP的端口是双字节,也就是256*256-1, 256*256对计算机来说就是0,因

12.11-xshell远程连接服务器以及故障排查

12.11 xshell远程连接服务器以及故障排查 内容: 1)centos 网络配置(setup) 2)Xshell的优化 3)Xshell远程连接服务器 (1)Windows中关于vmware  相关服务要运行(共5个服务) (2)Vmware 网络配置 子网IP 10.0.0.0 4)xshell远程连接排错 5)VMware三种网络模式 1.Centos网络配置 1. 临时 Setup------network configuration ------device configurati

Mysql 开启远程连接服务

Mysql 开启远程连接服务 修改要远程访问的那个用户的 host 为 % use mysql; insert into user (host, user, password) values('%', 'root', password('密码')) 将设置推送到内存或服务器中 FLUSH PRIVILEGES; 原文地址:https://www.cnblogs.com/GetcharZp/p/11634690.html

linux下SSH远程连接服务慢解决方案

1.适用命令及方案如下:[远程连接及执行命令]ssh -p22[email protected]ssh -p22 [email protected] /sbin/ifconfig[远程拷贝:推送及拉取]scp -P22 -r -p /etc [email protected]:/tmp/scp -P22 -r -p [email protected]:/tmp/ /etc[安全的FTP功能]sftp -oPort=22 [email protected][无密码验证方案]例如利用sshkey批量

Linux下修改ssh端口和禁止root远程登录

我们都知道,ssh默认端口号是22,要更改端口号为9688,需要编辑/etc/ssh/ssh_config和/etc/ssh/sshd_config两个文件即可: 禁止root远程登录,则需要编辑/etc/ssh/sshd_config.(可能部分Linux目录为/etc/sshd,请根据实际情况修改) 操作步骤如下: 1.编辑/etc/ssh/ssh_config文件: [root[email protected] ~]# cat /etc/ssh/ssh_config |grep Port