linux(centos stream 9)--008 ssh规范安全配置

简介: 之后都需要网络操作

/etc/ssh/ssh_config

重要参数

  • Compression yes      # 是否可以使用压缩指令?
  • # Host *                              # Host指令是ssh_config中最重要的指令,只有ssh连接的目标主机名能匹配此处给定模式时,才允许连接
                                        # 下面一系列配置项直到出现下一个Host指令才对此次连接生效
    #   ForwardAgent no                #设置连接是否经过验证代理(如果存在)转发给远程计算机
    #   ForwardX11 no                  #设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)
    #   RhostsRSAAuthentication no     #设置是否使用基于rhosts的安全验证。
    #   RSAAuthentication yes          #设置是否使用用RSA算法的基于rhosts的安全验证。
    #   PasswordAuthentication yes     # 是否启用基于密码的身份认证机制
    #   HostbasedAuthentication no     # 是否启用基于主机的身份认证机制
    #   GSSAPIAuthentication no        # 是否启用基于GSSAPI的身份认证机制
    #   GSSAPIDelegateCredentials no
    #   GSSAPIKeyExchange no
    #   GSSAPITrustDNS no
    #   BatchMode no                   # 如果设置为"yes",将禁止passphrase/password询问。比较适用于在那些不需要询问提供密
                                     # 码的脚本或批处理任务任务中。默认为"no"。
    #   CheckHostIP yes
    #   AddressFamily any
    #   ConnectTimeout 0
    #   StrictHostKeyChecking ask        # 设置为"yes",ssh将从不自动添加host key到~/.ssh/known_hosts文件,且拒绝连接那些未知的主机(即未保存host key的主机或host key已改变的主机)。
                                       # 它将强制用户手动添加host key到~/.ssh/known_hosts中。
                                       # 设置为ask将询问是否保存到~/.ssh/known_hosts文件。
                                       # 设置为no将自动添加到~/.ssh/known_hosts文件。
    #   IdentityFile ~/.ssh/identity     # ssh v1版使用的私钥文件
    #   IdentityFile ~/.ssh/id_rsa       # ssh v2使用的rsa算法的私钥文件
    #   IdentityFile ~/.ssh/id_dsa       # ssh v2使用的dsa算法的私钥文件
    #   Port 22                          # 当命令行中不指定端口时,默认连接的远程主机上的端口
    #   Protocol 2,1
    #   Cipher 3des                      # 指定ssh v1版本中加密会话时使用的加密协议
    #   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc  # 指定ssh v1版本中加密会话时使用的加密协议
    #   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
    #   EscapeChar ~
    #   Tunnel no
    #   TunnelDevice any:any
    #   PermitLocalCommand no    # 功能等价于~/.ssh/rc,表示是否允许ssh连接成功后在本地执行LocalCommand指令指定的命令。
    #   LocalCommand             # 指定连接成功后要在本地执行的命令列表,当PermitLocalCommand设置为no时将自动忽略该配置
                               # %d表本地用户家目录,%h表示远程主机名,%l表示本地主机名,%n表示命令行上提供的主机名,
                               # p%表示远程ssh端口,r%表示远程用户名,u%表示本地用户名。
    #   VisualHostKey no         # 是否开启主机验证阶段时host key的图形化指纹
    Host *
          GSSAPIAuthentication yes
    

/etc/ssh/sshd_config

重要参数
  • UseDNS no

    UseDNS 选项打开状态下,当客户端试图登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施

  • AddressFamily inet
  • SyslogFacility AUTHPRIV
  • PermitRootLogin yes
  • PasswordAuthentication yes
/etc/ssh/sshd_config

#配置文件概要
[root@localhost ~]# cat /etc/ssh/sshd_config

#Port 22                # 服务端SSH端口,可以指定多条表示监听在多个端口上
#ListenAddress 0.0.0.0  # 监听的IP地址。0.0.0.0表示监听所有IP,指定IP只监听指定的IP
Protocol 2              # 使用SSH 2版本, 如果要同时支持两者,就必须要使用 2,1 这个分隔了

#####################################
#          私钥保存位置               #
#####################################
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key      # SSH 1保存位置/etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key  # SSH 2保存RSA位置/etc/ssh/ssh_host_rsa _key
#HostKey /etc/ssh/ssh_host_dsa_key  # SSH 2保存DSA位置/etc/ssh/ssh_host_dsa _key


###################################
#           杂项配置               #
###################################
#PidFile /var/run/sshd.pid        # 服务程序sshd的PID的文件路径
#ServerKeyBits 1024               # 服务器生成的密钥长度
#SyslogFacility AUTH              # 使用哪个syslog设施记录ssh日志。日志路径默认为/var/log/secure
#LogLevel INFO                    # 记录SSH的日志级别为INFO
#LoginGraceTime 2m                # 身份验证阶段的超时时间,若在此超时期间内未完成身份验证将自动断开

###################################
#   以下项影响认证速度               #
###################################
#UseDNS yes                       # 指定是否将客户端主机名解析为IP,以检查此主机名是否与其IP地址真实对应。默认yes。
                                  # 由此可知该项影响的是主机验证阶段。建议在未配置DNS解析时,将其设置为no,否则主机验证阶段会很慢

###################################
#   以下是和安全有关的配置           #
###################################
#PermitRootLogin yes              # 是否允许root用户登录
#MaxSessions 10                   # 最大客户端连接数量
#GSSAPIAuthentication no          # 是否开启GSSAPI身份认证机制,默认为yes
#PubkeyAuthentication yes         # 是否开启基于公钥认证机制
#AuthorizedKeysFile  .ssh/authorized_keys  # 基于公钥认证机制时,来自客户端的公钥的存放位置
PasswordAuthentication yes        # 是否使用密码验证,如果使用密钥对验证可以关了它
#PermitEmptyPasswords no          # 是否允许空密码,如果上面的那项是yes,这里最好设置no
StrictModes yes              # 当使用者的 host key 改变之后,Server 就不接受联机,可以抵挡部分的木马程序!
#RSAAuthentication yes          # 是否使用纯的 RSA 认证!?仅针对 version 1 ! 
###################################
#   以下可以自行添加到配置文件        #
###################################
DenyGroups  hellogroup testgroup  # 表示hellogroup和testgroup组中的成员不允许使用sshd服务,即拒绝这些用户连接
DenyUsers   hello test            # 表示用户hello和test不能使用sshd服务,即拒绝这些用户连接

###################################
#   以下一项和远程端口转发有关        #
###################################
#GatewayPorts no                  # 设置为yes表示sshd允许被远程主机所设置的本地转发端口绑定在非环回地址上
                                  # 默认值为no,表示远程主机设置的本地转发端口只能绑定在环回地址上
目录
相关文章
|
1月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
276 146
|
2月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
299 20
|
4月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
1325 0
|
4月前
|
网络安全 开发工具 git
GitHub 多账户 SSH 配置指南
本文介绍了如何在同一台电脑上配置多个 GitHub 账户的 SSH 密钥。内容包括:检查现有密钥、生成新的 SSH 密钥、配置 SSH config 文件、将公钥添加到 GitHub、验证 SSH 连接、设置 Git 用户信息、创建工作区目录、使用不同账户克隆仓库,以及为每个仓库配置独立的用户信息等步骤。通过这些操作,可以实现在不同项目中使用不同的 GitHub 账户进行提交和管理。
356 0
|
6月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
197 4
|
6月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
400 3
|
7月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
624 25
|
8月前
|
网络协议 Linux 网络安全
微软工程师偷偷在用!这款SSH工具让Windows操控CentOS比Mac还优雅!
远程登录Linux服务器是管理和维护服务器的重要手段,尤其在远程办公、云服务管理等场景中不可或缺。通过工具如XShell,用户可以方便地进行远程管理。SSH协议确保了数据传输的安全性,命令行界面提高了操作效率。配置XShell连接CentOS时,需确保Linux系统开启sshd服务和22端口,并正确设置主机地址、用户名和密码。此外,调整字体和配色方案可优化使用体验,解决中文显示问题。
396 21
微软工程师偷偷在用!这款SSH工具让Windows操控CentOS比Mac还优雅!
|
5月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
295 0
|
8月前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
890 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)