分享

超越安全:OpenSSH身怀绝技

 richsky 2012-07-04

超越安全:OpenSSH身怀绝技

2012-07-04 13:17 | 830次阅读 | 【已有2条评论】发表评论

来源:CSDN | 作者:CSDN | 收藏到我的网摘

OpenSSH是Linux上重要的远程管理工具,以安全著称。相信大多数用户已经熟知OpenSSH的使用,如使用SSH进行远程连接,使用SCP、SFTP复制文件等。但是OpenSSH的威力远不止此,下面我们将为您予以展示。

1.X11转发

使用-X选项,可以在本地显示远程Linux上的GUI程序。登录到远程系统,并启用X11转发可以使用以下命令:

  1. ssh -X user@host 

当然,目标系统配置文件/etc/ssh/sshd_config的X11Forwarding参数应被设置为“Yes”,OpenSSH守护进程也应运行。

2.穿越防火墙

在公共网络中,要提防类似于Firesheep的恶意攻击。一个非常好的安全方法就是使用SSL/HTTPS加密,而不使用明文发送信息。

我们还有另一种选择。如果我们想避开配置为不允许使用HTTP/SMTP协议的防火墙,并建立SSH安全通道,可以使用以下命令:

  1. ssh -ND 9999 user@hostname 

端口可以任意调整,以避免与其他服务冲突。

3.执行远程命令

不必登陆,也可以在远程系统上执行命令。例如,可以用以下命令检查磁盘空间:

  1. $ssh host df 

我们甚至可以使用管道,例如:

  1. $ dd if=/dev/dsp | ssh -C user@host dd of=/dev/dsp 

4.端口转发

现在我们来讨论一下端口转发的话题。OpenSSH端口转发分为本地端口转发和远程端口转发,它们的区别在于端口映射的方向。我们利用端口转发,可以轻而易举的绕过防火墙。例如,假定你所在的工作网络不允许访问reddit.com。请运行:

  1. # ssh yourserver -L 80:reddit.com:80 

这样我们就可以通过“yourserver”间接访问reddit.com。如果使用-g参数,就可以允许工作区内的其他计算机通过你的计算机访问reddit.com:

  1. # ssh yourserver -L 80:reddit.com:80 -g 

5.SSH文件系统

通过FUSE项目和sshfs项目,我们可以讲远程SSH挂载到本地。在Mac平台可以使用Fuse4x

可以使用如下命令简化SSHFS的安装:

  1. $ sudo port install sshfs 

我们可以使用如下命令挂载:

  1. $ sshfs remote-host: local-mount-directory 

OpenSSH还有许多强大的功能有待于我们挖掘,欢迎大家提出自己的见解。(张志平/编译)

参考链接:SSH: More than secure shell

OpenSSH Tips and Tricks: Beyond Secure Shell

Howto use SSH local and remote port forwarding

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多