当两台LINUX主机之间要互传文件时可使用SCP命令来实现

本文详细介绍了如何使用SCP命令在两台LINUX主机间进行文件及目录的传输。包括从本地拷贝到远程服务器以及从远程服务器拷贝回本地的方法,并通过实例演示了具体的使用步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当两台LINUX主机之间要互传文件时可使用SCP命令来实现

 

复制文件: 
(1)将本地文件拷贝到远程 
scp 文件名 --用户名@计算机IP或者计算机名称:远程路径 
(2)从远程将文件拷回本地 
scp --用户名@计算机IP或者计算机名称:文件名 本地路径


复制目录:
(1)将本地目录拷贝到远程 
scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径 
(2)从远程将目录拷回本地 
scp -r   用户名@计算机IP或者计算机名称:目录名 本地路径

 

举例说明:

(1)把计算机名为“v111.nn”下所有的东西都拷贝到本机/home/admin/目录下:

scp -r * v111.nn:/home/admin/

 

(2)以admin的身份把IP地址为“192.168.219.125”,/home/admin/test目录下所有的东西都拷贝到本机/home/admin/目录下:

scp -r  admin@192.168.219.125:/home/admin/test  /home/admin/


### 配置SSH密钥以实现无密码SCP文件传输 为了使两台 Linux 主机之间能够通过 SCP 命令进行无密码文件传输,需要配置 SSH 密钥认证。具体过程如下: #### 创建SSH密钥对 在源服务器上生成对新的 RSA 或 DSA 密钥对。这可以通过 `ssh-keygen` 工具完成。 ```bash ssh-keygen -t rsa ``` 此命令会创建个新的私钥和公钥,默认存储路径为 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub[^1]。 #### 复制公钥至目标服务器 将本地用户的公钥复制到远程服务器上的相应位置。可以手动操作或将公钥追加到远程主机的 `~/.ssh/authorized_keys` 文件中。 ```bash cat ~/.ssh/id_rsa.pub | ssh user@target_server 'cat >> .ssh/authorized_keys' ``` 另种方法是利用 `scp` 命令直接传送已有的 `authorized_keys` 文件: ```bash scp -p ~/.ssh/authorized_keys user@target_server:.ssh/ ``` 上述命令假设 `.ssh` 目录已经存在并具有适当权限设置;如果没有,则需先建立该目录并调整其访问控制列表 (ACL)[^2]。 #### 设置正确的文件权限 确保所有涉及的身份验证材料都设置了恰当的安全属性。对于私钥而言,建议将其读取权仅限于拥有者本人 (`chmod 600`);而对于公共部分及其容器夹来说,通常允许组内成员阅读即可(`chmod 700 ~/.ssh; chmod 644 ~/.ssh/*.pub`)[^3]。 #### 测试连接 最后步是对新安装好的密钥链路做次简单的测试来确认切正常工作。尝试不带任何额外选项地发起SSH 连接请求给远端节点,观察是否能顺利进入对方 shell 而不需要再次提供凭证信息。 ```bash ssh target_user@target_host ``` 旦成功建立了信任关系,在后续使用 SCP 执行跨设备的数据交换就不会再被询问关于身份验证的信息了[^4]。 #### 使用SCP进行文件传输 当完成了以上步骤之后,就可以轻松地运用 SCP 来实施高效便捷的大规模数据迁移任务而不必担心频繁的人工干预所带来的不便之处了。 ```bash scp /path/to/local/file remote_username@remote_host:/destination/path/ ``` 如果要递归地复制整个目录结构连同其中的内容起迁移到另处地方的话,只需加上 `-r` 参数就可以了[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值