SSH远程服务配置sshd

现在大多数连接Unix服务器都是使用ssh而不用telnet,是因为telnet在网络中使用的是明文口令和数据,在实际生产环境中是极为不安全的,但是我们在平时使用ssh服务时,往往会忽略一些问题而会带来安全隐患,最近在帮几个朋友优化服务器时就有发现很多问题,在这就简单的说一下:

ssh的服务端sshd配置sshd_config几个重要选项

Port 22
#这个是ssh服务的监听端口,在实际生产环境中一般都不用默认的22端口
Protocol 2
#ssh的协议版本,版本1有bug,平时我们使用的是版本2
ListenAddress 0.0.0.0
#这个是sshd的绑定ip,在生产环境中常常是用来绑定内网ip通过vpn跳板机连接服务器的,当然也支持ipv6
PasswordAuthentication yes
#这个是允许用密码验证的方式连接服务器,当然如果是使用RSA密钥的话就要把这选项关闭在启用
#相应的配置,这里就不太多少想必网上都能找的到
PermitRootLogin yes
#允许root远程登录服务器,如果没有做相应的防火墙安全策略建议把这个设为no
PermitUserEnvironment no
#不允许空口令登录
LoginGraceTime 2m
#这个是设置用户登录失败后,断开与服务器的连接时长
PasswordAuthentication yes
#使用公钥验证,一般出现在SecureCRT、putty、Xshell等远程连接工具中会使用
PrintMotd yes
#ssh连接时打印/etc/motd中的警告信息
PrintLastLog yes
UseLogin yes
#显示上次的登录信息,如果是生产服务器中建议关闭
TCPKeepAlive yes
#保持tcp连接
ClientAliveInterval 0
#默认是0秒,可以设置后配合TCPKeepAlive实现sshd长连接
UseDNS no
#是否要使用DNS反解析,平时在用大多说都是用ip连接服务器,那么就要选no
MaxStartups 10
#这个设置允许几个未登录的连接,如果有成功登录的不算,默认是10个,实际中我们可以相应的调低
MaxAuthTries 6
#设置最大失败次数,这个在实际生产环境中要调小,用于防御ssh暴力破解
PidFile /var/run/sshd.pid
#设置sshd的pid文件路径

一般使用密码验证登录的都改这几个选项,但是如果是是使用RSA密钥就要修改其他的相应配置,当然在修改好后还要做好相应的iptables安全策略,当然必要的时候还要启用tcp_wrappers防火墙,当然每次修改完配置后都要重启sshd服务一次:/etc/init.d/sshd restart

----------------------------另一篇----------------------------

----------------------------sshd_config配置 详解----------------------------

LNMP已经Shell脚本方面、以及自动化方面的东西,整理一下发在这里。

# 1. 关于 SSH Server 的整体设定,包含使用的 port 啦,以及使用的密码演算方式
Port 22          # SSH 预设使用 22 这个 port,您也可以使用多的 port !
              # 亦即重复使用 port 这个设定项目即可!
Protocol 2,1       # 选择的 SSH 协议版本,可以是 1 也可以是 2 ,
              # 如果要同时支持两者,就必须要使用 2,1 这个分隔了!
#ListenAddress 0.0.0.0  # 监听的主机适配卡!举个例子来说,如果您有两个 IP,
              # 分别是 192.168.0.100 及 192.168.2.20 ,那么只想要
              # 开放 192.168.0.100 时,就可以写如同下面的样式:
ListenAddress 192.168.0.100        # 只监听来自 192.168.0.100 这个 IP 的SSH联机。
                   # 如果不使用设定的话,则预设所有接口均接受 SSH
PidFile /var/run/sshd.pid      # 可以放置 SSHD 这个 PID 的档案!左列为默认值
LoginGraceTime 600     # 当使用者连上 SSH server 之后,会出现输入密码的画面,
              # 在该画面中,在多久时间内没有成功连上 SSH server ,
              # 就断线!时间为秒!
Compression yes      # 是否可以使用压缩指令?当然可以啰!
 
# 2. 说明主机的 Private Key 放置的档案,预设使用下面的档案即可!
HostKey /etc/ssh/ssh_host_key    # SSH version 1 使用的私钥
HostKey /etc/ssh/ssh_host_rsa_key  # SSH version 2 使用的 RSA 私钥
HostKey /etc/ssh/ssh_host_dsa_key  # SSH version 2 使用的 DSA 私钥

# 2.1 关于 version 1 的一些设定!
KeyRegenerationInterval 3600     # 由前面联机的说明可以知道, version 1 会使用
                   # server 的 Public Key ,那么如果这个 Public
                   # Key 被偷的话,岂不完蛋?所以需要每隔一段时间
                   # 来重新建立一次!这里的时间为秒!
ServerKeyBits 768          # 没错!这个就是 Server key 的长度!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/998664203c8c1901e9bf336074c3b4d5.html