共计 1928 个字符,预计需要花费 5 分钟才能阅读完成。
Linux 的管理用户是 root,远程连接的默认端口是 22,这是通常有 IT 经验的人都知道的。为了系统安全,我们通常都会修改这些默认的设置,下面就说下怎么修改 ssh 的配置。实验用的系统为 CentOS6.9,其他的 Linux 也可以参考。
1、修改 ssh 连接的端口
ssh 的端口默认为 22,我们可以通过修改配置文件改为一个非著名的端口,比如 2222.
vim /etc/ssh/sshd_config
用 vim 编辑器打开 sshd_config,把 22 端口改为 2222,然后保存退出。
注意:配置文件生效之前,我们要在防火墙放行 2222 端口,设置 iptables。
iptables -I INPUT -p tcp -m tcp –dport 2222 -j ACCEPT #放行 2222 端口
/etc/init.d/iptables save #保存 iptables 配置
/etc/init.d/iptables restart #重启 iptables 服务
重载 ssh 配置文件,不建议用 restart 来重启 ssh 服务,这样会影响到现有的 ssh 连接。
/etc/init.d/sshd reload
然后用 XShell 重新连接看看,连接成功。
2、禁止 root 用户直接 ssh 连接
root 这个帐号是所有人都知道并且拥有最高权限的帐号,直接暴露在网络中不大安全,我们可以禁止 ssh 使用 root 连接,同样只需要修改 ssh 的配置文件即可。在这里要确认自己的系统有一个可以登录的普通帐号,用该帐号登录之后再 su - 切换到 root,或者将该帐号加入 sudoers 里面。
用 vim 编辑器打开 ssh 的配置文件,找到 PermitRootLogin 那行,去掉注释,参数改为 no,或者直接在最后几行加入下面的几条参数。(这几个命令都可以在配置文件找到的)
PermitRootLogin no #是否允许 root 登录
PermitEmptyPasswords no #是否允许空密码登录
UseDNS yes #是否对远程主机名进行反向解析,关闭会提高连接的速度
GSSAPIAuthentication no #解决 Linux 之间使用 ssh 连接慢的问题
修改之后,保存退出,然后重新加载 ssh 文件即可。
3、其他
如果对安全有更高的要求,可以更高 ssh 的监听 ip,使其只监听内网的 ip。可以通过防火墙来限制来源的 IP 地址
iptables -I INPUT -s 192.168.17.0/24 -p tcp –dport 2222 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
下面关于 SSH 相关的文章您也可能喜欢,不妨参考下:
集群环境 SSH 免密码登录设置 http://www.linuxidc.com/Linux/2017-03/141296.htm
Linux 基础教程:配置 SSH 免密码登陆 http://www.linuxidc.com/Linux/2017-07/145847.htm
远程 SSH 连接服务与基本排错 http://www.linuxidc.com/Linux/2017-05/143738.htm
使用 SSH 公钥密钥自动登陆 Linux 服务器 http://www.linuxidc.com/Linux/2017-02/140642.htm
配置 SSH 免密码登录 http://www.linuxidc.com/Linux/2017-08/146213.htm
开启 SSH 服务让 Android 手机远程访问 Ubuntu 14.04 http://www.linuxidc.com/Linux/2014-09/106809.htm
SSH 非交互式密码授权远程执行脚本 http://www.linuxidc.com/Linux/2017-04/143180.htm
SSH 通过密钥登陆 http://www.linuxidc.com/Linux/2017-06/144997.htm
Ubuntu 安装配置 SSH(ssh: connect to host localhost port 22: Connection refused 问题的解决) http://www.linuxidc.com/Linux/2015-01/112045.htm
CentOS SSH 提示:connect to host centos-py port 22: Connection refused http://www.linuxidc.com/Linux/2017-11/148586.htm
Linux 上实现 SSH 免密码登陆远程服务器 http://www.linuxidc.com/Linux/2017-05/144165.htm