关键词:
sshd的配置和优化
sshd服务器端的配置文件为/etc/ssh_config
配置文件中的一些常用参数
常用参数 | 说明 |
---|---|
port | 监听端口号 |
ListenAddress ip | 监听的IP地址 |
LoginGraceTime | 发起连接后多少时间内必须登录超时断开连接 |
PermitRootLogin | 是否允许root登录 |
StrictModes | 检查.ssh/文件的所有者,权限等 |
MaxAuthTries | 最大密码尝试次数 |
MaxSessions | 同一连接的最大绘会话数 |
PubkeyAuthentication | 基于Key验证 |
PermitEmptyPasswords | 是否使用空口令登录 |
PasswordAuthentication | 基于口令验证 |
GatewayPorts | ssh服务监听所使用的端口当网关使用 |
ClientAliveInterval | 间隔多久客户端和服务器端没有操作就断开连接 |
ClientAliveCountMax | 和上面那项一起使用为检查的次数 |
UseDNS | 是否使用名称解析 |
GSSAPIAuthentication | GSSAPI的认证 |
MaxStartups | 未验证的最大连接数 |
Banner | 登录前提示 |
AllowUsers | 允许哪些用户登录(白名单) |
DenyUsers | 不允许哪些用户登录(黑名单) |
AllowGroups | 允许哪些组登录(白名单) |
DenyGroups | 不允许哪些组登录(黑名单) |
详细用法:
1.port
在生产环境中建议将此端口改为非标准端口,防止被人恶意猜测密码。
[[email protected] ~]# vim /etc/ssh/sshd_config
Port 2222
[[email protected] ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
#此时sshd服务已经监听在2222端口上
[[email protected] ~]# lsof -i:2222
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 2424 root 3u IPv4 13945 0t0 TCP *:EtherNet/IP-1 (LISTEN)
sshd 2424 root 4u IPv6 13947 0t0 TCP *:EtherNet/IP-1 (LISTEN)
2.LinstenAddress
若本机有多个ip地址,可以指定用哪个地址提供sshd服务
vim /etc/ssh/sshd_config
Port 2222
ListenAddress 172.22.27.12
[[email protected] ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
#此时sshd服务监听在172.22.27.124的2222端口上
[[email protected] ~]# ss -tnl |grep 2222
LISTEN 0 128 172.22.27.124:2222 *:*
3.LoginGraceTime
此项表示有多少用户发起ssh连接后多少时间内必须输入密码登录,否则断开连接默认为2分钟
#LoginGraceTime 2m
4.PermitRootLogin
是否允许root用户登录,在生产环境中,最好禁止root用户直接登录
[[email protected] ~]# vim /etc/ssh/sshd_config
Port 2222
ListenAddress 172.22.27.12
PermitRootLogin no
重启sshd服务
[[email protected] ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
#此时使用root账户已经无法登录
[[email protected] ~]# ssh -p 2222 [email protected]
The authenticity of host ‘[172.22.27.124]:2222 ([172.22.27.124]:2222)‘ can‘t be established.
RSA key fingerprint is 46:d8:67:07:f3:51:87:95:2c:d7:4b:27:ce:85:a2:ed.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘[172.22.27.124]:2222‘ (RSA) to the list of known hosts.
[email protected]‘s password:
Permission denied, please try again.
[email protected]‘s password:
Permission denied, please try again.
[email protected]‘s password:
Permission denied (publickey,password).
5.MaxAuthTries
最大密码尝试次数默认为3次,尝试次数为此项后的值的一半
[[email protected] ~]# vim /etc/ssh/sshd_config
#MaxAuthTries 6
6.MaxSessions
同一连接的最大会话个数,默认为10个
[[email protected] ~]# vim /etc/ssh/sshd_config
MaxSessions 3
重启服务
[[email protected] ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
此时克隆会话时最多只能克隆3个在多就会拒绝
7.PubkeyAuthentication
基于Key验证,登录时使用密钥验证,此项默认开启生产环境中最好使用key验证。
[[email protected] ~]# vim /etc/ssh/sshd_config
#PubkeyAuthentication yes
8.PermitEmptyPasswords
是否使用空口令登录,生产环境中使用空口令登录是非常危险的,所以此处默认也是禁止的
[[email protected] ~]# vim /etc/ssh/sshd_config
#PermitEmptyPasswords no
9.PasswordAuthentication
基于口令验证,默认为开启。生产环境中建议禁用口令登录。只开启密钥登陆
[[email protected] ~]# vim /etc/ssh/sshd_config
PasswordAuthentication yes
10.GatewayPorts
ssh服务监听所使用的端口当网关使用
此项用法可参考端口转发
11.ClientAliveInterval和ClientAliveCountMax
ClientAliveInterval:连接后多久没有操作则断开
ClientAliveCountMax:检测几次后发现没有操作断开,此项和上一项结合一起使用
[[email protected] ~]# vim /etc/ssh/sshd_config
#ClientAliveInterval 0 #0表示不限制时间
#ClientAliveCountMax 3
11.UseDNS和GSSAPIAuthentication
此处2项建议关闭,能加速ssh的连接速度
12.MaxStartups
未验证的最大连接数,默认的10:30:100表示,ssh连接进入前10个链接能全部连接上,当连接数大于10个就以30%的纪律随机拒绝登陆,连接数超过100个全部拒绝
[[email protected] ~]# vim /etc/ssh/sshd_config
MaxStartups 10:30:100
12.Banner
登录前提示,在选项后跟上路径
[[email protected] ~]# vim /etc/ssh/sshd_config
Banner /data/hello
[[email protected] ~]# echo hello > /data/hello #创建一个hello的文件
#重启服务
[[email protected] ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[[email protected] ~]# ssh -p 2222 [email protected]
hello #所创建的登录前提示
[email protected]‘s password:
13、AllowUsers、DenyUsers、AllowGroups、DenyGroups
此处4项为用户和组的黑白名单
[[email protected] ~]# vim /etc/ssh/sshd_config
DenyUsers wang #将wang用户加入黑名单
#重启服务
[[email protected] ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[[email protected] ~]# useradd wang
[[email protected] ~]# echo 111111 | passwd --stdin wang
Changing password for user wang.
passwd: all authentication tokens updated successfully.
#此时wang用户无法登陆
[[email protected] ~]# ssh -p 2222 [email protected]
hello
[email protected]‘s password:
Permission denied, please try again.
[email protected]‘s password:
Permission denied, please try again.
[email protected]‘s password:
Permission denied (publickey,password).
生产环境中ssh服务最佳实践
1.建议使用非默认端口
修改port
2.禁止使用protocol version 1
Protocol 2
3.限制可登录用户
AllowUsers、DenyUsers、AllowGroups、DenyGroups
4.设定空闲会话超时时长
ClientAliveInterval和ClientAliveCountMax
5.利用防火墙设置ssh访问策略
设置iptables策略
6.仅监听特定的IP地址
修改Listen
7.基于口令认证时,使用强密码策略
使用难以猜测的随机口令,长度越长约好,并定期修改。
8.使用基于密钥的认证
使用密钥登陆,不使用口令
9.禁止使用空密码
PermitEmptyPasswords no
10.禁止root用户直接登录
PermitRootLogin
11.限制ssh的访问频度和并发在线数
MaxStartups
12.经常分析日志
sshd的日志文件为/var/log/secure
sshd_config配置文件(代码片段)
[[email protected]~]$cat/etc/ssh/sshd_config#Port22监听端口,默认监听22端口【默认可修改】#AddressFamilyanyIPV4和IPV6协议家族用哪个,any表示二者均有#ListenAddress0.0.0.0指明监控的地址,0.0.0.0表示本机的所有地址【默认可修改】#ListenAddress:... 查看详情
wsl优化之ssh远程登录篇(代码片段)
...了openssh-server,也就是ssh服务的软件。但是,这个软件的配置是不完整的,如果启用服务,会报缺失几个密钥文件。为了解决这个问题,我们需要重新安装openssh-server:重新安装完还不行,因为WSL上的Ubuntu的SSH服务配置默认不允... 查看详情
linux基础服务sshd简介(代码片段)
...,较之使用明文传输的telnet传输文件要安全很多。sshd配置文件/etc/ssh/sshd_config如果井号开 查看详情
sshpass详解(代码片段)
...过的主机。而又不输入yes进行确认,需要进行sshd服务的优化:#vim/etc/ssh/ssh_configStrictHostKeyCheckingno#vim/etc/ssh/sshd_configGSSAPIAuthenticationnoUseDNSno#servicesshdrestartsshpass 查看详情
linux配置应用服务器通过证书免密码登录sftp测试站点(代码片段)
...。vsftp是vsftpd服务,是正儿八经的传统意义上的FTPsftp配置文件sftp没有自己的配置文件,因为是sshd附赠的,所以和ssh公用22端口以及sshd的配置文件cat/etc/ssh/sshd_configsftp服务器配置其实每台能ssh上去的服务器都可以看作... 查看详情
远程使用key证书登录(代码片段)
远程登录使用key证书登录配置密钥登录的方法很简单,过程不外乎:一:开启sshd服务的密钥验证功能;二:生成密钥;三:添加密钥到账户的authorized_keys文件中授权;四:保存私钥和公钥到本地电脑添加到SSH客户端软件;五:... 查看详情
关于配置sshd的一些操作(代码片段)
关于服务器自动化配置的一些操作自动化配置服务器,其本质就是开机自动运行脚本开机自动运行脚本的思路1.以某一用户身份去登陆服务器,在linux系统下会默认运行用户家目录下的.bashrc配置文件2.linux或unix系统下,... 查看详情
关于配置sshd的一些操作(代码片段)
关于服务器自动化配置的一些操作自动化配置服务器,其本质就是开机自动运行脚本开机自动运行脚本的思路1.以某一用户身份去登陆服务器,在linux系统下会默认运行用户家目录下的.bashrc配置文件2.linux或unix系统下,... 查看详情
sshd安全性能优化
...快速度连接,减少不必要的带宽的浪费。 sshd服务的配置文件为/etc/ssh/sshd_config,内容默认如下:#$OpenBSD:sshd_config,v1.802008/07/0202:24:18djmExp$#Thisisthesshdserversystem-widec 查看详情
sshd(代码片段)
sshd服务介绍ssh协议:安全外壳协议。为SecureShell的缩写。ssh为建立在应用层和传输层基础上的安全协议。sshd服务使用ssh协议可以用来进行远程控制,或在计算机之间传送文件。openssh软件包,提供了服务端后台程序和客户端工具,... 查看详情
docker配置sshd服务(代码片段)
启动一个centos服务[email protected]:/data#dockerrun--privileged-itd--namecentos_lnmp1.14-p8088:80-p33006:3306centos/usr/sbin/init[email protected]:/data#dockerexec-it97aaee886614/bin/bash[[email protected]/]#yuminstall-ygcc-c++gccopensslopenssl-develpcre-develpcreopensshopsnssh-... 查看详情
linuxssh密钥认证登陆配置(代码片段)
给公司阿里云的ECS配置SSH认证,中间遇到一些问题,主要是概念不很清楚。ECS服务器OS是CENTOS7自带OPENSSH服务netstat-ntlp|grep22 就可以看到22端口 和服务SSHD SSHD服务的配置文件在/etc/ssh/sshd_config。先讲下认证过程一般先在客... 查看详情
ssh和sshd服务(代码片段)
1.1 对称加密和非对称加密对称加密:加密和解密使用一样的算法,只要解密时提供与加密时一致的密码就可以完成解密。例如QQ登录密码,银行卡密码,只要保证密码正确就可以。非对称加密:通过公钥(publickey)和私钥(private... 查看详情
nginx性能优化(配置文件详解)(代码片段)
...访问,那下面在单台Nginx服务器来优化相关参数。Nginx.conf配置优化:worker_processes8;nginx进程数,建议按照cpu数目来指定,一般为它的倍数。worker_cpu_affinity00000001000000100000010000001000000100000010000001 查看详情
sshd服务,firewalld,ip配置(代码片段)
ip配置ifconfig查看cd/etc/sysconfig/network-scriptsviifcfg-en0BOOTPROTO=staticIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1ONBOOT=yesjdk配置环境变量vi/etc/profile最后一行添加如下代码exportJAVA_HOME=/usr/loc 查看详情
14.3-elk重难点总结和整体优化配置(代码片段)
本文收录在Linux运维企业架构实战系列做了几周的测试,踩了无数的坑,总结一下,全是干货,给大家分享~一、elk实用知识点总结1、编码转换问题(主要就是中文乱码)(1)input中的codec=>plain转码codec=>plaincharset=>"GB2312"将... 查看详情
关于linux系统-sshd服务-allowusers与allowgroups-选项的安全加固配置(代码片段)
在一些Linux系统-sshd服务,的主配置文件,/etc/ssh/sshd_config 我们可能会看到配置有AllowUsers与AllowGroups的安全加固选项,关于两个选项的说明如下:从选项名称上就可以知道这两个是选项,是属于白名单选项的,在安全中,如果... 查看详情
springboot项目优化和jvm调优(亲测!真实有效)(代码片段)
...得熟练掌握的事情。在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行。一、修改配置文件关于修改配置文件application.properties。https://docs.spring.io/spring-boot/docs/current/reference/html/common 查看详情