rcp: Copy Files Between Local and Remote Hosts


rcp: Copy Files Between Local and Remote Hosts

Introduction

  • rcp copies files between local and remote systems. It mimics cp behavior but operates across machines, typically via the remote shell (rcp/rsh).
  • Note: rcp is old and considered insecure. For modern workflows, prefer scp or rsync over SSH.

Getting Started: Quick Examples

  • Copy a single file to a remote host:
rcp path/to/local_file.txt user@remote_host:/path/to/destination/
  • Copy a directory recursively:
rcp -r path/to/local_directory/ user@remote_host:/path/to/destination/
  • Preserve file attributes during copy:
rcp -p path/to/local_file.txt user@remote_host:/path/to/destination/
  • Force copy without a confirmation prompt:
rcp -f path/to/local_file.txt user@remote_host:/path/to/destination/

How rcp Works (brief)

  • rcp uses the remote shell to transfer data between hosts. It does not encrypt data by default and relies on trust between hosts.
  • Because of security concerns, many systems disable rsh/rcp in favor of SSH-based tools.

Common Pitfalls and Gotchas

  • Security: rcp often uses rsh; credentials and data may travel in cleartext. Prefer scp or rsync over SSH for encryption.
  • Availability: Many modern distributions mark rcp as deprecated or remove it entirely. If you must use it, ensure the remote host supports it and you understand the security implications.
  • Authentication: rcp relies on host trust and may require properly configured .rhosts or equivalent. Misconfigurations can lead to vulnerabilities.
  • Path correctness: Always double-check destination paths on the remote host to avoid overwriting important files.

Safer Alternatives (recommended)

  • scp (Secure Copy):
scp path/to/local_file.txt user@remote_host:/path/to/destination/
  • rsync over SSH (powerful and efficient, supports partial transfers and resume):
rsync -avz path/to/local_directory/ user@remote_host:/path/to/destination/

Tips for Beginners

  • Start with a dry run concept: verify paths locally and on the remote host before executing a copy.
  • Use absolute paths on the remote host to avoid ambiguity.
  • If you must use rcp in a controlled environment, limit exposure with firewalls and restricted user accounts.

Conclusion

  • rcp can be handy for quick, simple copies in trusted environments, but its security model is outdated. For everyday use, prefer scp or rsync to ensure encryption and better safety.

See Also