在
PowerShell
中输入
scp
命令(第 1 行),查看其简易的帮助信息(第 2 ~ 4):
PS C:\Users\Admin> scp
usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
[-J destination] [-l limit] [-o ssh_option] [-P port]
[-S program] source ... target
唉!在 PowerShell 中提供关于 scp
命令的帮助信息真的是太简易,以致于难以理解其用法。
还是在 CentOS 7 中查看吧!
[root@localhost ~]
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2
提示:提示:如果需要更详细地帮助信息,可以使用 man scp
命令。
回到 PowerShell,我准备把当前用户目录下的 .\.ssh\known_hosts
文件复制到 IP 为 192.168.132.128
的 CentOS 7 主机中(第 12 行):
- 第 12 行:
scp .\.ssh\known_hosts root@192.168.132.128:known_host
命令表示将当前用户目录下的 .\.ssh\known_hosts
文件复制到 IP 为 192.168.132.128
的主机中,即将复制过去的文件以 known_host
命名,使用 root
用户认证; - 第 13 行:输入位于
192.168.132.128
主机中 root
用户的密码(不可见); - 第 14 行:复制文件的结果。
PS C:\Users\Admin> ls .\.ssh\
目录: C:\Users\Admin\.ssh
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2021/8/16 9:04 178 known_hosts
PS C:\Users\Admin> scp .\.ssh\known_hosts root@192.168.132.128:known_host
root@192.168.132.128's password:
known_hosts 100% 178 175.1KB/s 00:00
进入 CentOS 7,查看 known_host
是否被复制到 root
用户目录下:
[root@localhost ~]
total 8
-rw-------. 1 root root 1401 Jul 24 11:26 anaconda-ks.cfg
-rw-r--r--. 1 root root 178 Aug 17 09:01 known_host
CentOS 7 - 在两台主机之间复制文件(scp (security copy))
在PowerShell中,如果你要在本地机器和远程Windows服务器之间拷贝文件,可以使用。如果远程服务器已经配置了WinRM服务,并且允许无交互式登录,上述脚本将能够正常工作。注意:在生产环境中,请确保你的凭据管理和网络访问策略符合安全规范。(用于创建持久会话后传输文件)。
有时候不方便创建共享文件夹来拷贝文件,这个时候可以在本地使用ssh终端访问远端的电脑,然后通过scp命令实现不同主机之间的文件拷贝操作。
1. Linux之间拷贝
基本语法:
#文件拷贝
scp 用户名@文件源ip地址:文件源路径 目标路径(本机)
#文件夹拷贝,加-r即可
scp -r 用户名@文件夹源ip地址:文件夹源路径 目标路径(本机)
例:将ip为192.100.10.3的电脑里边的/home/sun/.gitconfig文件拷贝到本地当前的文件夹
user@user-pcs:~$ scp.
scp命令是secure copy的缩写,用于在Linux下进行远程文件拷贝,类似的命令有cp , rcp,不过cp只能在本机进行文件拷贝不支持跨服务器拷贝,rcp虽然支持远程文件拷贝,不过它不会对传输数据进行加密
命令格式为:
scp [可选参数] file_source file_target
从本地复制到远程
命令格式:
## 1.2指定了用户名,命令执行后需要再输入密码, 1指定了远程的文件目录 2指定了文件名
scp local_file remote_username@remote_ip:rem
网上很多远古帖子会让你去下载OpenSSH的文件压缩包,然后解压到系统盘,再配置环境变量,还得手动开启ssh服务。这个问题并不是win10系统都有的。win10到现在也有六七个版本了,较新的版本是可以直接运行的,是因为系统已经内置了支持ssh服务的。不过都是傻瓜式默认安装,其中有一步让你选择安装的组件,记得只选择安装。所以运行不了的直接去安装这个工具即可。
1.下载安装winscp,并且将远程服务器的IP地址输入,注意不要需要填入SSH密匙,并且不要输入密码。
2.登录成功后,打开powershell,输入:ssh +ip地址:
3.将本地的代码拖到远程服务器上(右侧):
3.输入ls查看目录
4.依次进入远程服务器代码所在的位置:
cd 目录
5.进入具体要运行的代码文件最后一级目录后,输入 conda env list
6.输入 conda activate OperationResearch,此步骤按照你的服务器的具体设置来选择
今日需要对服务器(Linux)上大约1TB的文件进行备份,最后IT的同事给我找了一台window服务器有足够的空间进行备份。使用ftp/sftp没有拷贝文件夹命令,mput/mget需然可以批量操作但是都是针对文件的,我这里的场景不合适。SCP是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp -r username@host(or ip):远程文件夹 本地文件夹。-1 使用ssh协议版本1-2-2 使用ssh协议版本2。-F 指定ssh配置文件。
做嵌入式开发的同学,特别是应用开发的,几乎每天都是编译app,然后将app放到板子上运行调试。那如何将app放到板子上呢?常用的2种方法:1,通过服务器的共享目录进行挂载 2,使用scp进行拷贝(这个需要板子支持ssh)。之前在某华上班的时候,就使用的方法1,使用起来也蛮方便。不过现在发现使用scp更方便,如下:
#!/bin/sh
REMOTEIP=
make -j16
if [ $? -eq 0 ]; then
read -p "input remote ip:" REMOTEIP
1、下载pscp.exe 首先将pscp下载后拷贝至c:\windows\system32目录下面,这样做了,可以直接在命令行输入。
2、如拷贝d:\upfile里面的文件及文件夹
pscp -r D:\upfile
root@192.168.1.8:/u01/upfile
然后回车。
pscp是复制命令,-r是复制文件夹,D:\upfile指需要复制的本地文件夹, root是远程Linux的用户...