使用rcp命令实现从远程机器拷贝文件

Posted Feng_Forest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用rcp命令实现从远程机器拷贝文件相关的知识,希望对你有一定的参考价值。

rcp:远程文件复制
使用rcp命令可以在远程主机之间复制文件,如果同时指定2个以上的文件或目录,且最后的目的地是一个已经存在的目录,则他会把前面指定的所有文件或目录复制到该目录中。
rcp命令语法:
rcp  【选项】【文件1】【文件2】
rcp   【选项】 【文件】 【目录】
rcp   【选项】
rcp命令选项含义
选项
含义
-p
尝试保留副本的修改时间和原文件的模式
-x
在主机之间传输加密所有信息
-r
如果原文件是目录,,复制该目录中每个字树
-D<端口>
指定连接到远程主机上的端口
-N
使用网络连接在本地主机上复制文件
-c<缓存文件>
更改默认凭据缓存文件
需要说明的是,rcp不提示输入口令,它通过rsh命令来执行拷贝。
CentOS6安装配置rsh如下

基本信息:
节点一:
ip:192.168.8.166 
主机名:hadrtest01
节点二:
ip:192.168.8.250 
主机名:hadrtest02

1、两节点分别安装rsh,rsh-server包是否已经安装

yum -y install rsh rsh-server

2、修改/etc/xinetd.d/rlogin确保disable = no这一行

# default: on
# description: rlogind is the server for the rlogin(1) program. The server \\
# provides a remote login facility with authentication based on \\
# privileged port numbers from trusted hosts.
service login
{
 socket_type = stream
 wait = no
 user = root
 log_on_success += USERID
 log_on_failure += USERID
 server = /usr/sbin/in.rlogind
 disable = no
}

节点二同样修改

3、修改/etc/xinetd.d/rsh确保disable = no这一行

[root@hadrtest01 ~]# cat /etc/xinetd.d/rsh
# default: on
# description: The rshd server is the server for the rcmd(3) routine and, \\
# consequently, for the rsh(1) program. The server provides \\
# remote execution facilities with authentication based on \\
# privileged port numbers from trusted hosts.
service shell
{
 socket_type = stream
 wait = no
 user = root
 log_on_success += USERID
 log_on_failure += USERID
 server = /usr/sbin/in.rshd
 disable = no
}

节点二同样修改

4、编辑/etc/securetty,添加rexec、rsh、rlogin三行

echo "

rexec

rsh

rlogin

" >> /etc/securetty


5、编辑/etc/hosts,添加两节点的ip,主机名

[root@hadrtest01 ~]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.166 hadrtest01

192.168.8.250 hadrtest02


节点二同样修改

6、修改~/.rhosts ,添加节点一,节点二主机名,ip

[root@hadrtest01 ~]# cat ~/.rhosts

hadrtest01 root

hadrtest02 root

[root@hadrtest02 ~]# cat ~/.rhosts

hadrtest01 root

hadrtest02 root

7、两节点分别启动服务
重启:

service xinetd restart

开机启动:

chkconfig xinetd on

8、测试
节点一:

[root@hadrtest01 ~]# rsh hadrtest02

Last login: Tue Feb 16 17:44:56 from hadrtest01

[root@hadrtest02 ~]#


不输入密码登录节点二表示安装成功

节点二:

[root@hadrtest02 ~]# rsh hadrtest01

Last login: Tue Feb 16 17:39:35 from hadrtest02

[root@hadrtest01 ~]#

不输入密码登录节点一表示安装成功

注意:按照上述操作完在之后,如果测试时提示要输入密码 或者测试时提示connection refush可以使用如下方法解决

1、在linux的命令提示符中输入#ntsysv rsh,然后按enter键

2、在打开的服务中找到rlogin,如果前面没有*,则按空格键,在前面加上*号之后,点击OK,退出

3、重启服务service xinetd restart

 

rcp命令解析:

1、以用户root将远程主机192.168.92.130上的/home/1111.sh文件复制到本地的当前目录

2、将远程主机192.168.92.130上的/home/test目录复制到本地的当前目录

 

以上是关于使用rcp命令实现从远程机器拷贝文件的主要内容,如果未能解决你的问题,请参考以下文章

每天一个linux命令(59):rcp命令

使用scp命令实现服务器之间文件传输

linux-scp 远程拷贝报错原因

scp-远程文件传输命令

linux文件拷贝到其他机器

工具篇:远程文件传输工具 scp