~/.hushlogin ~/.rhosts ~/.shosts ~/.ssh/authorized_keys ~/.s
~/.hushlogin
就算 PrintLastLog 和 PrintMotd 配置指令被开启,
但是如果这个文件存在,那么也不会打印上次登录时间和 /etc/motd 文件的内容。
不过它不会阻止打印 Banner 指令要求显示的内容。
~/.rhosts
这个文件用于基于主机的认证,里面列出允许登录的主机/用户对。
在某些情况下这个文件可能需要被全局可读,比如用户的家目录位于一个NFS分区上的时候。
这个文件的属主必须是这个对应的用户,且不能允许其它用户写入。
大多数情况下推荐的权限是"600"。
~/.shosts
这个文件的用法与 .rhosts 完全一样,只是在允许做基于主机的认证同时防止 rlogin/rsh 登录。
~/.ssh/authorized_keys
存放该用户可以用来登录的 RSA/DSA 公钥。这个文件的格式上面已经描述过了。
这个文件的内容并不需要十分的保密,但是推荐的权限仍然是"600"。
如果这个文件、或者其所在目录(~/.ssh)、或者用户的家目录,可以被其他用户写入,
那么这个文件就可能会被其它未认证用户改写。
如果权限不对,sshd 默认将不允许使用这个文件进行认证,除非 StrictModes 指令被设为 no 。
可以通过下面的命令设置合格的权限:chmod go-w ~/ ~/.ssh ~/.ssh/authorized_keys
其实~/.ssh/authorized_keys2这样命名也是可以的
~/.ssh/environment
这个文件(如果存在)含有在登录时附加定义的环境变量。这个文件的格式很简单:
空白行和'#'开头的行被忽略,有效行的按照"name=value"的格式每行定义一个变量。
这个文件的权限也应当是"600"。
默认是禁止使用这个文件处理环境变量的,但是可以通过 PermitUserEnvironment 配置指令开启。
~/.ssh/known_hosts
包含没有在 /etc/ssh/ssh_known_hosts 中列出的、该用户登录过的主机的公钥。
这个文件的格式参见前面的内容。这个文件正确的权限应当是"600"。
~/.ssh/rc
在读取并设置环境变量之后、运行用户shell或命令之前,所要执行的初始化动作。
这个文件正确的权限应当是"600"。
/etc/hosts.allow
/etc/hosts.deny
tcp-wrappers 用于根据源地址执行访问控制,这是其配置文件。
/etc/hosts.equiv
用于基于主机的认证。它应当只允许root写入。
/etc/ssh/moduli
包含用于"Diffie-Hellman Group Exchange"的 Diffie-Hellman groups 。
/etc/motd
"motd"的意思是"message of the day"(今日消息)。常用于广播系统范围的重要事件。
一般在登录系统后、执行登录shell前,由 login 显示其中的内容。
但如果登录用户的家目录下有 .hushlogin 文件则不显示。
/etc/nologin
如果存在这个文件,sshd 将拒绝任何非root用户的登录,并向被拒绝的用户显示此文件的内容。
此文件必须确保全局可读。
/etc/shosts.equiv
这个文件的用法与 hosts.equiv 完全相同,不同仅在于不允许使用 rsh/rlogin 。
/etc/ssh/ssh_host_key
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_rsa_key
这三个文件包含了主机私钥,其属主必须是root,权限应该是"600"。
如果权限不对,sshd 根本就会拒绝启动。
/etc/ssh/ssh_host_key.pub
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key.pub
这三个文件包含了主机公钥,其属主必须是root,权限应该是"644"。
这些文件中包含的内容必须与相应的私钥文件匹配。
这些文件事实上并没有被使用,只是为了用户方便才提供这些文件的。
比如,将公钥添加到 ~/.ssh/authorized_keys 和 /etc/ssh/ssh_known_hosts 文件中。
这些文件是使用 ssh-keygen创建的。
/etc/ssh/ssh_known_hosts
全局范围的已知主机公钥列表。系统管理员应该把所需主机公钥保存在这个文件中。
这个文件的格式上文已经有了详细介绍。这个文件的属主应当是root,权限应当是"644"。
/etc/ssh/sshd_config
sshd 的全局配置文件。
/etc/ssh/sshrc
类似于 ~/.ssh/rc ,但是针对全局有效。这个文件的属主应当是root,权限应当是"644"。
/var/empty
sshd 在预认证阶段进行特权分离时,将要切换到的虚根目录。
此目录当中不能包含任何文件,并且其属主应当是root,权限应当是"000"。
/var/run/sshd.pid
存储着 sshd 主监听进程的进程号。
如果有多个在不同端口监听的主进程,那么这个文件只包含最后一个启动的监听进程的进程号。
这个文件的内容并不很重要,可以设为全局可读。