在LINUX下实现对网络中的WINDOWS进行操作(关机,重启,执行命令等)
Windows Implementation of RSHD:
RSH
Daemon for Windows NT:
1.wget
2.解压rshd-bin-1.7.zip,得到如下文件:
|-- TcpTimedWaitDelay.reg
|-- bin
| `-- rshd.exe
`-- src
2 directories, 2 files
3.将rshd.exe和TcpTimedWaitDelay.reg拷贝到windows下面,将rshd.exe放到c:\下,双击TcpTimedWaitDelay.reg将其中内容导入到注册表中,TcpTimedWaitDelay.reg就可以删掉了
4.打开命令提示符,输入如下命令:
cd c:\ #切换到rshd.exe所在目录
rshd -install -r #加上-r参数安装rshd,否则会在下一步操作中提示错误而不能启动服务
net start rshd #启动rshd服务
5.因为此服务会用到TCP514,TCP544端口,所在还要在防火墙中打开这两个端口,下面以Windows自带防火墙为例
开始-设置-控制面板-Windows防火墙(以开启为例,没开启则不用设置)
选择"例外"选项卡
选择"添加端口"按扭
在弹出对话框中输入"名称"(随个人喜好),"端口号"并选中下面的TCP(UDP)
注意下面的"更改范围",在这个里面可以设置远程客户机的来源(个人建意选择"自定义列表")
至此,Windows下面设置完成了,下面就是LINUX控制端了
1.安装rsh-XXX.rpm (rsh就是此RPM包提供的)
2.下面是相关操作和信息
列出D:\下所有文件:
[root@host66 ~]# rsh 192.168.5.143 dir d:
connect to address 192.168.5.143 port 544: Connection refused
Trying krb4 rsh...
connect to address 192.168.5.143 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)
Volume in drive D has no label.
Volume Serial Number is C4E6-CCBF
Directory of D:\
03/04/2010 03:16 PM 16 1.txt
03/04/2010 03:16 PM 13 2.txt
03/04/2010 03:16 PM 14 3.txt
3 File(s) 43 bytes
0 Dir(s) 214,671,368,192 bytes free
[root@host66 ~]# /usr/bin/rsh 192.168.5.143 dir d:
Volume in drive D has no label.
Volume Serial Number is C4E6-CCBF
Directory of D:\
03/04/2010 03:16 PM 16 1.txt
03/04/2010 03:16 PM 13 2.txt
03/04/2010 03:16 PM 14 3.txt
3 File(s) 43 bytes
0 Dir(s) 214,671,368,192 bytes free
上面一个提示port 544: Connection refused,而另一个没有,但都能成功执行命令,是有原因的,如下:
[root@host66 ~]# which rsh
/usr/kerberos/bin/rsh
[root@host66 ~]# whereis rsh
rsh: /usr/bin/rsh /usr/share/man/man1/rsh.1.gz
在系统中有两个RSH,而不加路径直接执行rsh命令时,会首先尝试使用kshell建立连接,所以就有连接拒绝的提示了
重启计算机:
[root@host66 ~]# rsh 192.168.5.69 shutdown -r -f -t 0
connect to address 192.168.5.69 port 544: Connection refused
Trying krb4 rsh...
connect to address 192.168.5.69 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)
-------------------------------------------------------------------------------
更正:
-------------------------------------------------------------------------------
刚发现上面关于TCP514,TCP544的说法有问题:
/usr/kerberos/bin/rsh 使用了TCP544端口
/usr/bin/rsh 使用了TCP514端口
/usr/kerberos/bin/rsh在整个操作中根本用不上,反而在这里捣乱
所以在WINDOWS中根本就不用开启TCP544端口了,
下面就来一步步处理这个问题:
[root@host66 ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:
从这里可以看出,不加路径执行RSH,它会先到/usr/kerberos/bin/中去找RSH,而由于那里面刚好有个RSH,所以就得想办法让系统不去读那个文件
方法1:
修改$PATH,不提倡
方法2:
将/usr/kerveros/bin/rsh改成别的名字
方法3:
给/usr/bin/rsh做个别名链接
或者在~/.bashrc中加上如下内容:
alias rsh=/usr/bin/rsh(本人倾向于使用这个)
好了,问题解决了~!~!
阅读(2064) | 评论(1) | 转发(0) |