SCP ubuntu下免密码文件传输

在Ubuntu (Linux)平台下,在两台设备直接进行文件传输是经常发生的事情。

平常一直使用rcp(scp)进行文件的传输,但是每一次都需要密码,很麻烦。

通过查找资料发现 可以使用ssh信任认证的方式实现免密码传输。

操作步骤如下:

两台cp ,其中一台为liukk@newland:~ 另外一台为:liukk@liukk-desktop:

liukk@newland:~/.ssh$ rcp -p id_rsa.pub liukk@192.168.16.247:~/.ssh/authorized_keys
liukk@192.168.16.247's password: 
id_rsa.pub                                                                                                            100%  406     0.4KB/s   00:00    
liukk@newland:~/.ssh$ ls
执行上述命令时,两台机器的用户之间建立安全信任关系。下次scp拷贝文件就不需要密码了。

 如果是多台信任。可以讲拷贝的authorized_keys 命名为authorized_keys1 ,authorized_keys2,...




<think>我们已经收集了多个关于在Ubuntu系统中使用scp命令传输文件的引用资料。这些资料覆盖了基本语法、本地到远程传输、远程到本地传输以及一些参数说明。下面将结合引用内容,系统性地回答用户问题。 核心步骤解析: 1. 基础命令结构:scp命令的基本语法分为从本地到远程和从远程到本地两种方向。 2. 参数说明:包括指定端口(-P)、递归复制目录(-r)等。 3. 身份验证:使用SSH钥或码进行安全传输。 根据引用内容,具体使用方法如下: 一、从本地复制文件到远程服务器(上传) 命令格式: scp [选项] <本地文件路径> <用户名>@<远程主机IP>:<目标路径> 示例(引用[1][5]): scp -P 22 /path/to/local/file.txt username@192.168.1.100:/home/username/ 参数详解: - `-P`:指定远程服务器的SSH端口(注意是大写的P,引用[1][4]中提到),如果远程服务器使用默认端口22,则可以省略。 - 本地文件路径:可以是绝对路径或相对路径。 - 远程路径:必须是绝对路径。 二、从远程服务器复制文件到本地(下载) 命令格式: scp [选项] <用户名>@<远程主机IP>:<远程文件路径> <本地目标路径> 示例(引用[2][3]): scp username@192.168.1.100:/path/to/remote/file.txt /local/save/path/ 三、复制整个目录(递归复制) 如果需要传输文件夹,使用`-r`选项(引用[4][5]提及): scp -r /local/folder username@192.168.1.100:/remote/path/ 四、其他常用选项 - `-i`:指定用于身份验证的私钥文件(适用于非默认钥或登录场景)。 - `-v`:显示详细传输信息(调试用)。 - `-C`:启用压缩传输。 五、注意事项 - 路径中的空格处理:如果路径包含空格,需用引号包裹(单引号或双引号)。 - 权限问题:确保目标路径有写入权限。 - 网络连通性:确保能通过SSH连接到目标主机(可先用`ssh`命令测试)。 示例综合(引用[3]中Windows到Ubuntu开发板的例子,但路径改为Ubuntu本地环境): scp ~/Documents/project.zip user@10.0.0.5:/home/user/backups/ 附加说明:在Ubuntu之间传输与跨平台(如Windows与Ubuntu)的操作命令一致,但Windows命令行中路径分隔符为反斜杠(需转义或改用正斜杠),而WSL环境可直接使用Linux路径风格(引用[2])。 总结完整步骤: 1. 打开Ubuntu终端。 2. 输入对应方向的scp命令(注意参数顺序)。 3. 首次连接时会提示保存主机钥,输入yes继续。 4. 输入远程用户的码(如果设置钥登录则无需码)。 引用来源: [^1]:说明了基本参数和Windows到Ubuntuscp命令示例。 [^2]:强调了跨平台传输(Windows/WSL与Ubuntu服务器)的场景。 [^3]:演示了从Windows到嵌入式Ubuntu开发板的文件传输,命令结构通用。 [^4][^5]:解释了SCP协议原理和基础语法。 </think>### Ubuntu中使用scp命令传输文件的方法 scp(Secure Copy Protocol)是基于SSH的安全文件传输工具,适用于Ubuntu系统间的文件传输。以下是详细使用方法: #### 1. **基本语法** ```bash scp [选项] 源文件路径 目标文件路径 ``` - **本地→远程**:`scp /本地/路径/file.txt username@remote_ip:/远程/路径/` - **远程→本地**:`scp username@remote_ip:/远程/路径/file.txt /本地/路径/` #### 2. **关键参数说明** - `-P <端口号>`:指定SSH端口(默认22时可省略) ```bash scp -P 2222 local_file.txt user@10.1.112.93:/home/user/ # 指定端口 ``` - `-r`:递归复制整个目录 ```bash scp -r /local/folder user@10.1.112.93:/remote/path/ # 传输文件夹 ``` - `-i <钥文件>`:使用SSH钥认证(免密码) ```bash scp -i ~/.ssh/id_rsa local_file user@ip:/path/ ``` - `-C`:启用压缩传输(大文件推荐) ```bash scp -C large_file.iso user@ip:/backup/ ``` #### 3. **常用场景示例** - **本地文件→远程服务器**(引用[1][5]): ```bash scp ~/Documents/report.pdf txl@10.1.112.93:/home/txl/Downloads/ ``` - **远程文件→本地**(引用[2][3]): ```bash scp txl@10.1.112.93:/var/log/app.log /tmp/ ``` - **跨服务器传输**(直接远程→远程): ```bash scp user1@server1:/file.txt user2@server2:/backup/ ``` #### 4. **路径处理技巧** - **空格/特殊字符**:用引号包裹路径 ```bash scp "file with space.txt" user@ip:/path/ ``` - **相对路径**:基于当前终端路径 ```bash cd ~/Downloads && scp ./image.jpg user@ip:/photos/ ``` #### 5. **身份验证方式** - **码验证**:首次连接需输入远程用户码 - **钥验证**(推荐):提前配置SSH公钥到`~/.ssh/authorized_keys` #### 注意事项 1. 权限问题:确保目标路径有写入权限(否则需`sudo`) 2. 防火墙:开放SSH端口(默认22) 3. 大文件传输:建议搭配`screen`或`tmux`防止中断 > 原理:SCP通过SSH隧道加传输数据,保障安全性[^4][^5] --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值