`
desert3
  • 浏览: 2160516 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

(转)sshd_config配置 详解

 
阅读更多
转自:sshd_config配置 详解
# 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 的长度!
# 3. 关于登录文件的讯息数据放置与 daemon 的名称!
SyslogFacility AUTH         # 当有人使用 SSH 登入系统的时候,SSH会记录资
                   # 讯,这个信息要记录在什么 daemon name 底下?
                   # 预设是以 AUTH 来设定的,即是 /var/log/secure
                   # 里面!什么?忘记了!回到 Linux 基础去翻一下
                   # 其它可用的 daemon name 为:DAEMON,USER,AUTH,
                   # LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,
LogLevel INFO            # 登录记录的等级!嘿嘿!任何讯息!
                   # 同样的,忘记了就回去参考!
# 4. 安全设定项目!极重要!
# 4.1 登入设定部分
PermitRootLogin no     # 是否允许 root 登入!预设是允许的,但是建议设定成 no!
UserLogin no        # 在 SSH 底下本来就不接受 login 这个程序的登入!
StrictModes yes      # 当使用者的 host key 改变之后,Server 就不接受联机,
              # 可以抵挡部分的木马程序!
#RSAAuthentication yes   # 是否使用纯的 RSA 认证!?仅针对 version 1 !
PubkeyAuthentication yes  # 是否允许 Public Key ?当然允许啦!只有 version 2
AuthorizedKeysFile      .ssh/authorized_keys
              # 上面这个在设定若要使用不需要密码登入的账号时,那么那个
              # 账号的存放档案所在档名!
# 4.2 认证部分
RhostsAuthentication no  # 本机系统不止使用 .rhosts ,因为仅使用 .rhosts 太
              # 不安全了,所以这里一定要设定为 no !
IgnoreRhosts yes      # 是否取消使用 ~/.ssh/.rhosts 来做为认证!当然是!
RhostsRSAAuthentication no # 这个选项是专门给 version 1 用的,使用 rhosts 档案在
              # /etc/hosts.equiv配合 RSA 演算方式来进行认证!不要使用
HostbasedAuthentication no # 这个项目与上面的项目类似,不过是给 version 2 使用的!
IgnoreUserKnownHosts no  # 是否忽略家目录内的 ~/.ssh/known_hosts 这个档案所记录
              # 的主机内容?当然不要忽略,所以这里就是 no 啦!
PasswordAuthentication yes # 密码验证当然是需要的!所以这里写 yes 啰!
PermitEmptyPasswords no  # 若上面那一项如果设定为 yes 的话,这一项就最好设定
              # 为 no ,这个项目在是否允许以空的密码登入!当然不许!
ChallengeResponseAuthentication yes  # 挑战任何的密码认证!所以,任何 login.conf 
                   # 规定的认证方式,均可适用!
#PAMAuthenticationViaKbdInt yes      # 是否启用其它的 PAM 模块!启用这个模块将会
                   # 导致 PasswordAuthentication 设定失效!
 
# 4.3 与 Kerberos 有关的参数设定!因为我们没有 Kerberos 主机,所以底下不用设定!
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosTgtPassing no
 
# 4.4 底下是有关在 X-Window 底下使用的相关设定!
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
# 4.5 登入后的项目:
PrintMotd no              # 登入后是否显示出一些信息呢?例如上次登入的时间、地点等
             # 等,预设是 yes ,但是,如果为了安全,可以考虑改为 no !
PrintLastLog yes     # 显示上次登入的信息!可以啊!预设也是 yes !
KeepAlive yes       # 一般而言,如果设定这项目的话,那么 SSH Server 会传送
             # KeepAlive 的讯息给 Client 端,以确保两者的联机正常!
             # 在这个情况下,任何一端死掉后, SSH 可以立刻知道!而不会
             # 有僵尸程序的发生!
UsePrivilegeSeparation yes # 使用者的权限设定项目!就设定为 yes 吧!
MaxStartups 10      # 同时允许几个尚未登入的联机画面?当我们连上 SSH ,
             # 但是尚未输入密码时,这个时候就是我们所谓的联机画面啦!
             # 在这个联机画面中,为了保护主机,所以需要设定最大值,
             # 预设最多十个联机画面,而已经建立联机的不计算在这十个当中
# 4.6 关于使用者抵挡的设定项目:
DenyUsers *        # 设定受抵挡的使用者名称,如果是全部的使用者,那就是全部
             # 挡吧!若是部分使用者,可以将该账号填入!例如下列!
DenyUsers test
DenyGroups test      # 与 DenyUsers 相同!仅抵挡几个群组而已!
# 5. 关于 SFTP 服务的设定项目!
Subsystem       sftp    /usr/lib/ssh/sftp-server

 
基本上,在您的系统中,『除非有必要,否则请不要更改 /etc/ssh/sshd_config 这个档案的设定值!』因为预设的情况下通常都是最严密的 SSH 保护了,因此,可以不需要更动他!上面的说明仅是在让大家了解每个细项的一些基本内容而已!
 
另外,如果您修改过上面这个档案(/etc/ssh/sshd_config),那么就必需要重新启动一次 sshd 这个 daemon 才行!亦即是:/etc/rc.d/init.d/sshd restart(service sshd restart)

man sshd_config:查看随机帮组文档
sshd_config 中文手册
#	$OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile	.ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing, 
# and session processing. If this is enabled, PAM authentication will 
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM no
UsePAM yes

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory none

# no default banner path
#Banner none

# override default of no subsystems
Subsystem	sftp	/usr/libexec/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#	X11Forwarding no
#	AllowTcpForwarding no
#	ForceCommand cvs server
分享到:
评论

相关推荐

    Linux中的sshd_config文件.docx

    ### Linux中的sshd_config文件详解 #### 一、sshd_config 文件概述 `sshd_config` 是 Linux 系统中 SSH 服务的核心配置文件,它位于 `/etc/ssh/` 目录下,用于控制 SSH (Secure Shell) 服务的行为。通过编辑 `sshd_...

    ubuntu下ssh配置详解

    Ubuntu 下 SSH 配置详解 在 Linux 的 Ubuntu 版本下,配置 SSH 服务是一件非常重要的事情。SSH(Secure Shell)是一种安全的远程登录协议,可以实现远程登录到服务器上。下面将详细介绍在 Ubuntu 下配置 SSH 服务的...

    Centos7.2 7.4 7.6 7.8升级openssh9.6方法和详解(脚本一键升级)

    echo "备份sshd_config配置文件及sshd_pam文件" cp /etc/ssh/sshd_config /etc/ssh/sshd_config_7.4p1_bak cp /etc/pam.d/sshd /etc/ssh/sshd_7.4p1_pam_bak rpm -Uvh openssh-*.rpm chmod 0600 /etc/ssh/ssh_host_*...

    Ubuntu之ssh及update

    这可以通过编辑`/etc/ssh/sshd_config`文件实现。 - **设置密码认证**:为了进一步加强安全性,可以禁用密码认证,改为使用公钥认证。 - **启用Firewall规则**:如果启用了防火墙,记得添加允许SSH流量的规则。 ###...

    Linux_SSH配置和禁止Root远程登陆设置文档

    ### Linux SSH配置与安全增强详解 #### 一、概述 SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录和命令执行,以及数据传输。它能够有效防止远程管理过程中的信息泄露、身份替换等攻击。在Linux系统...

    ssh配置文件ssh配置文件

    客户端的配置文件通常位于`~/.ssh/config`(在Unix/Linux系统中,用户的家目录下),而服务器端的配置文件是`/etc/ssh/sshd_config`。 客户端配置文件`~/.ssh/config`: 这个文件允许用户为不同的主机定义别名,...

    linux ssh的配置

    ### Linux SSH 的配置详解 ...通过详细配置 `/etc/ssh/ssh_config` 和 `/etc/ssh/sshd_config` 文件中的各项参数,可以有效地提高 Linux SSH 的安全性和功能性,从而更好地满足不同场景下的需求。

    openssh8.8p1-el7.tar.gz

    《OpenSSH 8.8p1在CentOS7上的安装与配置详解》 在Linux操作系统中,SSH(Secure Shell)是一种广泛使用的网络协议,用于安全地远程登录到服务器,执行命令,传输文件等操作。OpenSSH是SSH协议的开源实现,提供了...

    Linux如何禁用root账户

    首先,使用文本编辑器打开 `/etc/ssh/sshd_config` 文件,例如使用 `vim` 编辑器: `sudo vim /etc/ssh/sshd_config` 在文件中,找到 `PermitRootLogin` 配置项,初始状态下该项的值为 `yes`,表示允许 root 账户...

    OpenSSH技术详解:如何配置OpenSSH服务器.docx

    OpenSSH 技术详解 - 配置 OpenSSH 服务器 OpenSSH 是 SSH(Secure SHell)协议的免费开源实现,用于提供安全、加密的网络连接工具,以代替 telnet、ftp、rlogin、rsh 和 rcp 工具。OpenSSH 支持 SSH 协议的版本 1.3...

    CentOS安全配置总结

    ### CentOS安全配置要点详解 #### 一、CentOS系统安全配置概述 在现代网络环境中,服务器的安全至关重要。本文档基于作者在日常工作中的经验积累以及网络上的学习资源,旨在提供一套适用于CentOS系统的安全配置...

    linux系统配置sftp服务器详解

    我们需要修改SSH配置文件以便启用SFTP服务器,命令为`sudo vim /etc/ssh/sshd_config`。在配置文件中,我们需要将`#Subsystem sftp /usr/libexec/openssh/sftp-server`修改为`Subsystem sftp internal-sftp`。然后,...

    ssh原理和配置文件详解

    SSH的主要配置文件在Unix/Linux系统中通常是`/etc/ssh/sshd_config`(服务器端)和`~/.ssh/config`(客户端)。这些文件中包含了SSH服务的各种设置,如端口号、加密算法、身份验证方法等。 - `sshd_config`文件:...

    openssh7.1 suse11

    《OpenSSH 7.1 在 SUSE 11 上的安装与配置详解》 OpenSSH 7.1 是一个安全的网络通信协议套件,用于在不同系统间提供加密的远程登录和其他网络服务。SUSE 11 是一款基于 Linux 的操作系统,广泛应用于企业级服务器...

    关于SSH如何配置的具体说明

    服务器端配置文件通常位于 `/etc/ssh/sshd_config`。该文件包含了大量配置选项,例如端口、认证方式等。 - **端口号配置**:默认情况下,SSH使用的是22端口。如果需要更改端口,可以在 `sshd_config` 文件中修改 `...

    updata_openssh8.0.tar.gz

    配置文件通常位于 `/etc/ssh/sshd_config`,你可以使用 `cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak` 创建备份。 3. **执行升级脚本**:压缩包中包含了一个自动化脚本,用于简化升级过程。赋予脚本执行权限...

    Linux 下sftp配置之密钥方式登录详解

    **Linux下sftp配置之密钥方式登录详解** 在Linux环境中,为了提高文件传输的安全性,通常会使用sftp(Secure File Transfer Protocol)代替传统的FTP或vsftp,因为sftp基于SSH(Secure Shell)协议,可以提供加密的...

    openssh-8.3_RPM包-for_linux el7.zip

    《OpenSSH 8.3 RPM 包在 Linux EL7 上的安装与配置详解》 OpenSSH,全称为Open Source Secure Shell,是Linux/Unix系统中广泛使用的安全协议,用于在网络中提供加密通信服务,包括远程登录、文件传输等功能。本文将...

    OpenSSH技术详解:如何配置OpenSSH服务器.pdf

    OpenSSH 守护进程使用 /etc/ssh/sshd_config 配置文件,可以根据需要修改该配置文件。要启动 OpenSSH 服务,使用 /sbin/service sshd start 命令,停止服务则使用 /sbin/service sshd stop 命令。 在重新安装 Red ...

    linux环境dhcp安装配置

    ### Linux环境下DHCP服务器安装与配置详解 #### 一、DHCP概述 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于自动分配IP地址以及其他网络配置信息,如子网掩码、默认网关和...

Global site tag (gtag.js) - Google Analytics