OpenSSH中SCP协议实现相关程序
来源:互联网 发布:网络交易平台怎么做 编辑:程序博客网 时间:2024/04/30 03:18
一、含义
SCP协议包含SCP Client和SCP Server,OpenSSH中的scp程序既可作为SCP Client,也可作为SCP Server。作为SCP Server的scp程序的运行通常是由SSH Server(sshd)调用触发。我们最常用的是将scp程序作为SCP Client运行。接下来介绍将scp程序作为SCP Client运行中的常用用法。
二、常用用法
2.1、本地机器与远端机器进行文件的传输
2.1.1、从本地机器向远端机器传输文件
1)命令如下
scp localfilepath -i identify_file -P port user@remoteHost:remotefilepath
2)选项含义
-i:选项值被直接传递给底层调用的ssh程序,作为ssh程序中“-i”选项的值-P:选项值被直接传递给底层调用的ssh程序,作为ssh程序中“-p”选项的值user:选项值被直接传递给底层调用的ssh程序,作为ssh程序中“-l”选项的值remoteHost:被直接传递给底层调用的ssh程序,等价于ssh程序中的“hostname”
以上ssh程序选项的含义介绍可见《OpenSSH——ssh》
3)简化命令
由《OpenSSH——ssh_config》可知,ssh程序的选项值除了来自于命令行选项值,还可来自于“ssh_config”文件。因此我们可以在“ssh_config”文件中配置好scp程序要传递给ssh程序的选项值,从而简化scp命令得到:
scp localfilepath RemoteHostAlias:remotefilepath
以“~/.ssh/config”文件为例,其中增加的配置内容如下:
Host RemoteHostAlias #指定配置匹配条件 HostName remoteHost User user Port port IdentityFile identify_file
2.1.2、从远端机器复制文件传输到本地机器
使用简化命令,命令如下:
scp RemoteHostAlias:remotefilepath localfilepath
2.2、远端机器与远端机器进行文件的传输
在本情形中,在scp程序中需要指定两个远端机器,如果采用“通过scp程序中的‘-i,-P,user,remoteHost’的选项值来配置底层调用ssh程序的相关值”的方式,需要两份“-i,-P,user,remoteHost”选项,这会导致失败。
因而在本情形中,最好采用“ssh_config”文件配置选项值的方式。
以远端机器1向远端机器2传输文件为例进行说明,而在远端机器1向远端机器2传输文件的情形中,又有两种不同情况,分别是:以本地机器为中转和不以本地机器为中转。
2.2.1、以本地机器为中转
1)命令如下
scp -3 remoteHost1:filepath1 remoteHost2:filePath2
2)选项含义
-3:该选项表示在远端机器之间传输文件的过程中,使用本地机器为中转
3)其他
在本情形中,要在本地机器的“ssh_config”文件中,配置好“remoteHost1”和“remoteHost2”对应的“HostName,User,Port,IdentityFile”选项值
2.2.2、不以本地机器为中转
1)命令如下
scp remoteHost1:filepath1 remoteHost2:filePath2
2)其他
在本情形中,要在本地机器的“ssh_config”文件中,配置好“remoteHost1”对应的“HostName,User,Port,IdentityFile”选项值,并且要在“remoteHost1”对应的远端机器的“ssh_config”文件中,配置好“remoteHost2”对应的“HostName,User,Port,IdentityFile”选项值
三、其他
3.1、“-r”选项
加上“-r”选项,表示递归复制传输目录内容
参考文献:
[1]man scp
- OpenSSH中SCP协议实现相关程序
- OpenSSH中SFTP协议实现相关程序
- 粗析openssh 中scp代码逻辑
- OpenSSH(ssh + scp)+Telnet
- openssh(scp、sftp、slogin、ssh)
- ftp、sftp、scp、ssh、openssh
- ftp、sftp、scp、ssh、openssh
- ftp、sftp、scp、ssh、openssh
- SCP协议
- SCP协议
- java程序里实现ssh, scp, sftp
- java程序里实现ssh, scp, sftp
- java程序里实现ssh, scp, sftp
- Linux OpenSSH scp 互传文件
- FTP、SFTP、SCP、SSH、OpenSSH关系解密
- OpenSSH相关配置文件
- OpenSSH相关漏洞解决
- 越狱相关三:OpenSSH
- fwrite和fread函数的用法小结
- 2016智能硬件开发者创客大会
- 阿里云PPTP VPN(Debian 7.5)
- javascript日期字符串和日期对象相互转换
- 点菜系统--总结
- OpenSSH中SCP协议实现相关程序
- linux常用命令—— 设备管理(十六)
- Spark源码分析:多种部署方式之间的区别与联系
- linux下自动生成Makefile文件
- 1086. Tree Traversals Again (25)
- Process Lasso Pro(进程优化工具) v8.9.3.4中文版
- Table显示滚动条
- C++学习笔记(五) 从C到C++
- 导出数据库 php