11.8 本章习题

  • Telnet 与 SSH 都是远程联机服务器,为何我们都会推荐使用 SSH 而避免使用 Telnet 呢?原因何在?因为 Telnet 除了使用『明码』传送数据外,本身 telnet 就是很容易被入侵的一个服务器,所以当然也就比较危险了。 至于 ssh 其实也不是很安全的!由台湾计算机危机处理小组的文件可以明显的发现 openssl + openssh 也是常常有漏洞在发布!不过,比起 telnet 来说,确实是稍微安全一些!
  • 请尝试说明 SSH 在 Server 与 Client 端联机时的封包加密机制;利用 key pair 来达到加密的机制:Server 提供 Public Key 给 Client 端演算 Private key ,以提供封包传送时的加密、解密!
  • 请问 SSH 的配置文件是哪一个?如果我要修改让 root 无法使用 SSH 联机进入我的 SSH 主机,应该如何设定?又,如果要让 badbird 这个用户无法登入 SSH 主机,该如何设定?SSH 配置文件档名为 sshd_config ,通常放置在 /etc/ssh/sshd_config 内;如果不想让 root 登入,可以修改 sshd_config 内的参数成为:『PermitRootLogin no 』,并重新启动 ssh 来设定!如果要让 badbird 使用者无法登入,同样在 sshd_config 里面设定为:『DenyUsers badbird』即可!
  • 在 Linux 上,预设的 Telnet 与 SSH 服务器使用的埠口(port number)各为多少?telnet 与 ssh 的埠口分别是:23 与 22!请参考 /etc/services 喔!
  • 如果发现我无法在 Client 端使用 ssh 程序登入我的 Linux 主机,但是 Linux 主机却一切正常,可能的原因为何?(防火墙、known_hosts...)无法登入的原因可能有很多,最好先查询一下 /var/log/messages 里面的错误讯息来判断,当然,还有其他可能的原因为:

    1. 被防火墙挡住了,请以 iptables -L -n 来察看,当然也要察看 /etc/hosts.deny;
    2. 可能由于主机重新启动过, public key 改变了,请修改你的 ~/ssh/known_hosts 里面的主机 IP ;
    3. 可能由于 /etc/ssh/sshd_config 里面的设定问题,导致你这个使用者无法使用;
    4. 在 /etc/passwd 里面,你的 user 不具有可以登入的 shell ;
    5. 其他因素(如账号密码过期等等)
  • 既然 ssh 是比较安全的资料封包传送方式,那么我就可以在 Internet 上面开放我的 Linux 主机的 SSH 服务了吗?!请说明你选择的答案的原因!最好不要对 Internet 开放你的 SSH 服务,因为 SSH 的加密函式库使用的是 openssl ,一般 Linux distribution 使用的 SSH 则是 openssh ,这两个套件事实上仍有不少的漏洞被发布过,因此,最好不要对 Internet 开放,毕竟 SSH 对于主机的权限是很高的!


powered by Gitbook 该教程制作时间: 2016-05-13 21:12:52