sshd config
Contents
vim .ssh/authorized_keys
ClientAliveInterval
Port 22
port用来设置sshd监听的端口,为了安全起见,建议更改默认的22端口为5位以上陌生端口
AddressFamily 指定 sshd(8) 应当使用哪种地址族。取值范围是:“any”(默认)、“inet”(仅IPv4)、“inet6”(仅IPv6)。
#ListenAddress 0.0.0.0
#ListenAddress用来设置sshd服务器绑定的IP地址
Protocol
指定 sshd(8) 支持的SSH协议的版本号。
‘1’和'2’表示仅仅支持SSH-1和SSH-2协议。“2,1"表示同时支持SSH-1和SSH-2协议。
HostKey
主机私钥文件的位置。如果权限不对,sshd(8) 可能会拒绝启动。
SSH-1默认是 /etc/ssh/ssh_host_key
SSH-2默认是 /etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key 。
一台主机可以拥有多个不同的私钥。“rsa1"仅用于SSH-1,“dsa"和"rsa"仅用于SSH-2。
PermitRootLogin
是否允许 root 登录。可用值如下: 默认值是"prohibit-password” 如果这个选项设置为"prohibit-password”、“without-password”,通过密码和键盘交互的授权方式对 root 用户禁用。
- “without-password"表示禁止使用密码认证登录。
- “forced-commands-only"表示只有在指定了 command 选项的情况下才允许使用公钥认证登录。同时其它认证方法全部被禁止。这个值常用于做远程备份之类的事情。
- yes #允许root用户以任何认证方式登录(貌似也就两种认证方式:用户名密码认证,公钥认证)
AuthorizedKeysFile
存放该用户可以用来登录的 RSA/DSA 公钥。
该指令中可以使用下列根据连接时的实际情况进行展开的符号:
%% 表示’%'、%h 表示用户的主目录、%u 表示该用户的用户名。
经过扩展之后的值必须要么是绝对路径,要么是相对于用户主目录的相对路径。
默认值是”.ssh/authorized_keys”。
UsePrivilegeSeparation
是否让 sshd(8) 通过创建非特权子进程处理接入请求的方法来进行权限分离。默认值是"yes”。
认证成功后,将以该认证用户的身份创建另一个子进程。
这样做的目的是为了防止通过有缺陷的子进程提升权限,从而使系统更加安全。
PermitUserEnvironment
指定是否允许 sshd(8) 处理 ~/.ssh/environment 以及 ~/.ssh/authorized_keys 中的 environment= 选项。
默认值是"no”。如果设为"yes"可能会导致用户有机会使用某些机制(比如 LD_PRELOAD)绕过访问控制,造成安全漏洞。
AllowUsers
这个指令后面跟着一串用空格分隔的用户名列表(其中可以使用”*“和”?“通配符)。默认允许所有用户登录。
如果使用了这个指令,那么将仅允许这些用户登录,而拒绝其它所有用户。
如果指定了 USER@HOST 模式的用户,那么 USER 和 HOST 将同时被检查。
这里只允许使用用户的名字而不允许使用UID。相关的 allow/deny 指令按照下列顺序处理:
DenyUsers, AllowUsers, DenyGroups, AllowGroups
Ciphers
指定SSH-2允许使用的加密算法。多个算法之间使用逗号分隔
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
https://blog.csdn.net/zhu_xun/article/details/18304441
http://www.jinbuguo.com/openssh/sshd_config.html
http://daemon369.github.io/ssh/2015/03/21/using-ssh-config-file
Author w1100n
LastMod 2018-01-17