# 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 
                   # 里面!什么?忘记了!回到 
去翻一下 
                   # 其它可用的 daemon name 为:DAEMON,USER,AUTH, 
                   # LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5, 
LogLevel INFO            # 登录记录的等级!嘿嘿!任何讯息! 
                   # 同样的,忘记了就回去参考!

# 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