|
最近更新日期:2011/11/24
11.7 重点回顾
- 远程联机服务器可以让使用者在任何一部计算机登入主机,以使用主机的资源或管理与维护主机;
- 常见的远程登录服务有 rsh, telnet, ssh, vnc, xdmcp 及 RDP 等;
- telnet 与 rsh 都是以明码传输数据,当数据在 Internet 上面传输时较不安全;
- ssh 由于使用密钥系统,因此数据在 Internet 上面传输时是加密过的,所以较为安全;
- 但 ssh 还是属于比较危险的服务,请不要对整个 Internet 开放 ssh 的可登入权限,可利用 iptables 规范可登入范围;
- ssh 的 public Key 是放在服务器端,而 private key 是放在 client 端;
- ssh 的联机机制有两种版本,建议使用可确认联机正确性的 version 2 ;
- 使用 ssh 时,尽量使用类似 email 的方式来登入,亦即: ssh username@hostname
- client 端可以比对 server 传来的 public key 的一致性,利用的档案为 ~user/.ssh/known_hosts;
- ssh 的 client 端软件提供 ssh, scp, sftp 等程序;
- 制作不需要密码的 ssh 账号可利用 ssh-keygen -t rsa 来制作 public, private Key pair;
- 上述指令所制作出的 public key 必须要上传到 server 的 ~user/.ssh/authorized_keys 档案中;
- Xdmcp 是透过 X display manager (xdm, gdm, kdm 等) 所提供的功能协议;
- 若 client 端为 Linux 时,需要在 X 环境下以 xhost 增加可连接到本机 X Server 的 IP 才行;
- 除了 Xdmcp 之外,我们可以利用 VNC 来进行 X 的远程登录架构;
- VNC 预设开的 port number 为 5900 开始,每个 port 仅允许一个联机;
- rsync 可透过 ssh 的服务通道或 rsync --daemon 的方式来联机传输,其主要功能可以透过类似镜像备份,
仅备份新的数据,因此传输备份速度相当快速!
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 里面的错误讯息来判断,当然,还有其他可能的原因为:
- 被防火墙挡住了,请以 iptables -L -n 来察看,当然也要察看 /etc/hosts.deny;
- 可能由于主机重新启动过, public key 改变了,请修改你的 ~/ssh/known_hosts 里面的主机 IP ;
- 可能由于 /etc/ssh/sshd_config 里面的设定问题,导致你这个使用者无法使用;
- 在 /etc/passwd 里面,你的 user 不具有可以登入的 shell ;
- 其他因素(如账号密码过期等等)
- 既然 ssh 是比较安全的资料封包传送方式,那么我就可以在 Internet 上面开放我的
Linux 主机的 SSH 服务了吗?!请说明你选择的答案的原因!
最好不要对 Internet 开放你的 SSH 服务,因为 SSH 的加密函式库使用的是 openssl ,一般 Linux distribution 使用的
SSH 则是 openssh ,这两个套件事实上仍有不少的漏洞被发布过,因此,最好不要对 Internet 开放,毕竟
SSH 对于主机的权限是很高的!
11.9 参考数据与延伸阅读
|
|