PXE远程安装服务
一 SSH远程管理
1.1 SSH的定义
SSH (secure shell),是一种安全通道协议,主要用来实现字符界面的远程登陆、远程复制等功能
SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,因此比较安全。SSH是建立在应用层和传输层基础上的安全协议。
1.2 SSH客户端和OpenSSH服务端
SSH客户端:Putty、 Xshell、 CRT、MobaXterm、FinalShell
SSH服务端:OpenSSH
· OpenSSH 是实现SSH协议的开源软件项目,适用于各种UNIX、Linux 操作系统。
· Centos 7系统默认已安装openssh相关软件包,并已将sshd服务添加为开机自启动
· 执行“systemctl start sshd" 命令即可启动sshd服务
· sshd服务默认使用的是TCP的22端口
· sshd服务的默认配置文件是/etc/ssh/sshd_config
注:ssh_config是针对客户端的配置文件,sshd_config是针对服务端的配置文件
sshd #服务名称
/usr/sbin/sshd #服务端主程序
/etc/ssh/sshd_config #服务端配置文件
/etc/ssh/ssh_config #客户端配置文件
二 配置OpenSSH服务端
2.1 SSH服务端配置文件 (监听选项、用户登录控制、登录验证方式)
SSH服务端配置文件sshd_confing常用选项设置
Port 22 #监听端口为22
ListenAddress 0.0.0.0 #监听地址为任意网段,也可以指定OpenSSH服务器的具体IP
LoginGraceTime 2m #登录验证时间为2分钟(超过2分钟后将自动断开)
PermitRootLogin no #禁止root 用户登录
MaxAuthTries 6 #最大重试次数为6
PermitEmptyPasswords no #禁止空密码用户登录
UseDNS no22 #禁用DNS反向解析,以提高服务器的响应速度
AllowUsers xx yy@192.168.208.30 #只允许xx、yy用户登录,其中yy用户仅能够从IP地址为192.168.208.30的主机远程登录(多个用户以空格分隔)
DenyUsers cc #禁止某些用户登录,用法于AllowUsers类似(注意不要同时使用)
服务配置
#监听端口修改 #Port 22 设置sSHD监听端口号。
SSH预设使用22这个port,也可以使用多个port,即重复使用port 这个设定项,例如想要开放SSHD端口为22和222,则多加一行内容为:Port 222即可。然后重新启动SSHD这样就好了。建议大家修改port numbe为其它端口,防止别人暴力破解。
#ListenAddress监听地址
ListenAddress 0.0.0.o
设置ssHD服务器绑定的IP地址,0.0.0.0表示侦听所有地址
安全建议:如果主机不需要从公网ssh访问,可以把监听地址改为内网地址这个值可以写成本地IP地址,也可以写成所有地址,即0.0.0.0表示所有IP。
#.Protocol 2
设置协议版本为ssH1或sSH2,SSH1存在漏洞与缺陷,选择SSH2
#UseDNs yes
一般来说,为了要判断客户端来源是正常合法的,因此会使用DNS去反查客户端的主机名。禁用DNS反向解析可以提高服务器的响应速度
#syslogFacility AUTHPRIV
当有人使用ssH登入系统的时候,ssH会记录信息,这个信息要记录的类型为AUTHPRIV,sshd 服务日志存放在:/var/log /secure。
安全调优
#LoginGraceTime 2m
grace意思是系统给与多少秒来进行登录。(默认2分钟,О表示无限制·当使用者连上 sSH server之后,会出现输入密码的画面,在该画面中·在多久时间内没有成功连上ssHserver就强迫断线!若无单位则默认时间为秒。可以根据实际情况来修改实际
#PermitRootLogin yes
是否允许root登入,默认是允许的,但是建议设定成no,真实的生产环境服务器,是不允许root账号直接登陆的,仅允许普通用户登录,需要用到 root 用户再切换到root 用户。
#PasswordAuthentication yes
密码验证当然是需要的!所以这里写yes,也可以设置为no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。
#PasswordAuthentication yes
密码验证当然是需要的,所以这里写yes,也可以设置为no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。
#PermitEmptyPasswords no
是否允许空密码的用户登录,默认为no,不允许空密码登录
#PrintLastLog yes
显示上次登入的信息,默认为yes
#MaxAuthTries 6
指定每个连接最大允许的认证次数。默认值是6 。如果失败认证的次数超过这个数值的一半,连接将被强制断开,且会生成额外的失败日志消息默认3次
验证ssh -o NumberofPasswordPrompts=8 lisi@192.168.10.9
修改设置需先删除首部“#”注释,再进行修改,修改完毕后还需要“systemctl restart sshd”重启服务以生效
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律