ssh_config是OpenSSH客户端的配置文件, sshd_config是OpenSSH服务器端的配置文件。
[root@centos78 ~]# cd /etc/ssh/ [root@centos78 ssh]# ll total 604 -rw-r--r--. 1 root root 581843 Aug 9 2019 moduli -rw-r--r--. 1 root root 2276 Aug 9 2019 ssh_config -rw-------. 1 root root 3907 Aug 9 2019 sshd_config -rw-r-----. 1 root ssh_keys 227 Feb 19 17:19 ssh_host_ecdsa_key -rw-r--r--. 1 root root 162 Feb 19 17:19 ssh_host_ecdsa_key.pub -rw-r-----. 1 root ssh_keys 387 Feb 19 17:19 ssh_host_ed25519_key -rw-r--r--. 1 root root 82 Feb 19 17:19 ssh_host_ed25519_key.pub -rw-r-----. 1 root ssh_keys 1679 Feb 19 17:19 ssh_host_rsa_key # SSH2用的RSA私钥 -rw-r--r--. 1 root root 382 Feb 19 17:19 ssh_host_rsa_key.pub # SSH2用的RSA公钥
[root@centos78 ~]# ssh
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
一、sshd_config配置文件
[root@centos78 ssh]# cat /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy 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:/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 override the
# default value.
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22 // sshd的监听端口号, 默认为22
#AddressFamily any
#ListenAddress 0.0.0.0 // 设置sshd服务绑定的IP地址, 0.0.0.0表示侦听所有地址
#ListenAddress ::
HostKey /etc/ssh/ssh_host_rsa_key // SSH2版本的RSA密钥存放位置
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH // 设置在记录来自sshd的消息时是否给出facility code
SyslogFacility AUTHPRIV // 设置sshd发送到syslog所使用的日志类型
#LogLevel INFO // syslog日志级别
# Authentication:
#LoginGraceTime 2m // 设置如果用户不能成功登录,sshd将会在这个配置参数指定的时间过后断开连接
#PermitRootLogin yes // 如果为yes则允许root用户使用ssh登录,为no则表示不允许root进行ssh登录
#StrictModes yes // 设置sshd在接受登录请求前是否检查用户的主目录以及rhosts文件的权限和所有者等信息。防止目录和文件设成任何人都有写权限。
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes // 是否允许公钥验证
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys // 公钥文件存放的位置
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no // 设置sshd在进行RhostsRSAAuthentication安全验证时,是否信任用户的'~/.ssh/known_hosts'文件
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes // 验证时是否使用'~/.rhosts'和'~/.shosts'文件
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no // 设置是否允许用空口令登录
PasswordAuthentication yes // 设置是否需要口令验证,默认为yes
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no // 设置是否允许使用提示/应答式认证。 sshd支持login.conf文件中定义的所有认证类型。
# Kerberos options // Kerneros验证
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
#KerberosUseKuserok yes
# GSSAPI options // GSSAPI 验证
GSSAPIAuthentication yes
GSSAPICleanupCredentials no // 清除验证信息
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users 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'.
# WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several
# problems.
UsePAM yes // 是否启用PAM插件式认证模块,默认为yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes // 设置sshd是否允许X11转发,默认为允许
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
#PrintMotd yes // 设置sshd是否在用户登录时显示/etc/motd中的信息
#PrintLastLog yes // 交互式登录时是否输出用户上次登录的日期和时间
#TCPKeepAlive yes // TCP活动保持
#UseLogin no // 指定login命令是否可用于交互式登录会话
#UsePrivilegeSeparation sandbox
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none // 设置保存banner信息的文件位置,用户登录后会显示该banner信息
# 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 // 指定客户端发送的那些环境变量,能复制到当前会话的运行环境(客户端需要设置其配置文件ssh_config中的SendEnv参数)
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server // 用于配置一个外部的服务程序,如文件传输服务器sftp-server。
// 配置参数的值应该是一个系统名与命令,能够基于客户系统的请求开始运行。
// sftp-server命令实现了sftp文件传输子系统。这个配置参数仅使用于SSH2。
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
二、ssh_config配置文件
[root@centos78 ssh]# cat /etc/ssh/ssh_config
# $OpenBSD: ssh_config,v 1.30 2016/02/20 23:06:23 sobrado Exp $
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# Configuration data is parsed as follows: // 配置选项生效的优先级
# 1. command line options // 命令行选项
# 2. user-specific file // 用户指定文件
# 3. system-wide file // 系统范围的文件
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
# Host * // 使用的计算机范围,'*'表示全部
# ForwardAgent no // 设置连接是否经过验证代理(如果存在)转发给远程计算机
# ForwardX11 no // 设置X11连接是否被自动重定向到安全的通道和显示集
# RhostsRSAAuthentication no // 设置是否使用RSA进行rhosts的安全验证
# RSAAuthentication yes // 设置是否使用RSA进行安全验证
# PasswordAuthentication yes // 设置是否需要口令验证
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no // 如果为yes,则交互输入口令时的提示(passphrase/password的提示)信息将被禁止
# CheckHostIP yes // 设置SSH是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask // 如果设置成yes,SSH就不会自动把计算机的密钥加入
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa // RSA安全验证文件的位置
# IdentityFile ~/.ssh/id_dsa // DSA安全验证文件的位置
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
# Port 22 // 服务器端口
# Protocol 2 // 使用的SSH协议
# Cipher 3des // 设置加密的方式
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
# EscapeChar ~ // 设置Escape(转义)字符
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
# RekeyLimit 1G 1h
#
# Uncomment this if you want to use .local domain
# Host *.local
# CheckHostIP no
Host *
GSSAPIAuthentication yes
# If this option is set to yes then remote X11 clients will have full access
# to the original X11 display. As virtually no X11 client supports the untrusted
# mode correctly we set this to yes.
ForwardX11Trusted yes
# Send locale-related environment variables // 局部环境变量
SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE
SendEnv XMODIFIERS
浙公网安备 33010602011771号