用SSH设置“加密通道”
时间:2006-06-19 来源:me09
![]() |
|||
|
|
|
|
|
|
加密通道”的基础知识
SSH的“加密通道”是通过“端口转发”来实现的。你可以在本地端口(没有用到的)和在远程服务器上运行的某个服务的端口之间建立“加密通道”。然后只要连接到本地端口。所有对本地端口的请求都被SSH加密并且转发到远程服务器的端口。当然只有远程服务器上运行SSH服务器软件的时候“加密通道”才能工作。可以用下面命令检查一些远程服务器是否运行SSH服务: telnet [full name of remote host] 22 如果收到这样的出错信息: telnet: Unable to connect to remote host: Connection refused 就说明远程服务器上没有运行SSH服务软件。 端口转发使用这样的命令语法: ssh -f [username@remote host] -L [local port]:[full name of remote host]:[remote port] [some command] 你不仅可以转发多个端口而且可以在“~/.ssh/config”文件中用“LocalForward”设置经常使用的一些转发端口。 为POP加上“加密通道”你可以用POP协议从服务器上取email。为POP加上“加密通道”可以防止POP的密码被网络监听器(sniffer)监听到。还有一个好处就是SSH的压缩方式可以让邮件传输得更快。 假定你在pop.foobar.com上有一个POP帐号,你的用户名是“bilbo”你的POP口令是“topsecret”。用来建立SSH“加密通道”的命令是: ssh -f -C [email protected] -L 1234:pop.foobar.com:110 sleep 5 (如果要测试,可以把“sleep”的值加到500)。运行这个命令之后会提示你输入POP口令: [email protected]'s password: 输入口令之后就可以用“telnet”连接到本地的转发端口了。 telnet localhost 1234 你会收到远程mail服务器的“READY”消息。 当然,这个方法要求你手工输入所有的POP命令,这是很不方便的。可以用Fetchmail(参考how to configure Fetchmail)。Secure POP via SSH mini-HOWTO、man fetchmail和在“/usr/doc/fetchmail-[…]”目录下的Fetchmail的FAQ都提供了一些具体的例子。 请注意IMAP协议使用的是不同的端口:IMAP v2的端口号为143而IMAP v3的端口号为220。 为X加上“加密通道”如果你打算在本地计算机上运行远程SSH服务器上的X程序,那么登录到远程的计算机上,创建一个名为“~/.ssh/environment”的文件并加上这一行: XAUTHORITY=/home/[remote user name]/.Xauthority (如果在远程主机上你的家目录下不存在“.Xauthority”这个文件,那么当用SSH登录的时候就会自动创建)。 比如启动一个X程序(xterm)可以这个命令: ssh -f -X -l [remote user name] [remote machine] xterm 这将在远程运行xterm这个程序。其它的X程序也是用相同的方法。 为linuxconf加上“加密通道”Linuxconf是Linux的配置工具,它支持远程管理。Linuxconf的FAQ重说明了如何通过SSH使用linuxconf: 其命令为: remadmin --exec [link_command] linuxconf --guiproto 如果你想在两台计算机之间用加密的方式传送信息,那么最好用ssh。命令是: remadmin --exec ssh -l [account] linuxconf --guiproto 这是非常有效的而且运行用图形界面管理计算机。 这种方法需要在客户端安装linuxconf。其它的方法还有直接登录到服务器上用“X11Forwarding”或字符界面运行linuxconf。 为Webmin加上“加密通道”Webmin是一个新的基于浏览器的配置工具。它运行在1000端口。你可以用SSH的“端口转发”对它进行加密: ssh -f -l [remote user name] [remote host] -L 1234:[remote host]:10000 tail -f /etc/motd 把浏览器指向 http://localhost:1234 Linux联盟收集整理 |