星期五, 十月 17, 2008

SSH访问局域网内的机器

SSH有TUNNELS功能,一直没有用过。最近有一个工作上的事情只能用公司的机器做,对方限制了访问IP。
想了想远程控制公司里的机器不就可以在任何地方都用了吗?

远程控制的话如果暴露端口就太危险了。目前在众多网络服务中比较信任的就是SSH了。
在公司的服务器上安装最简单的debain。(装在colinux里,公司的服务器都是WIN。)
下载putty
用PUTTYGEN.EXE生成密钥对,把PUBKEY拷贝出来,注意保存成文件不能被OPENSSH识别,authorized_keys里必须一行一个key,保存成文件就不止一行了。
把PUBKEY添加到服务器的~/.ssh/authorized_keys里面。
修改/etc/sshd_config,设置PasswordAuthentication no
安装denyhosts。(apt-get install denyhosts
用PUTTY连接服务器时在选项里Connection->SSH->Auth里加上privatekey的路径。在Tunnels里加入本地的端口如4489到远程的局域网里的机器TargetHost:3389
3389为Windowx远程桌面的端口,所以在目标机器上要打开远程桌面,并且用户要有远程桌面的权限。
如果机器关着就不好用了,所以目标机器的BIOS里打开WOL(Wake on LAN)远程唤醒功能。
在服务器上安装wakeonlan程序。(apt-get install wakeonlan)以后再关机的时候只要wakeonlan 目标机器的MAC就能开机。

实际试验非常成功,远程桌面连接是在机器里输入localhost:4489就连到目标机器了。

没有评论:

发表评论