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 ~]# scp
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.128CentOS 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 ~]# ll
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的用户...