标签: scp

如何在python scp?

在Python中scp文件的最pythonic方法是什么?我所知道的唯一途径是

os.system('scp "%s" "%s:%s"' % (localfile, remotehost, remotefile) )
Run Code Online (Sandbox Code Playgroud)

这是一个hack,并且在类似Linux的系统之外不起作用,并且需要Pexpect模块的帮助以避免密码提示,除非您已经将无密码SSH设置到远程主机.

我知道Twisted的conch,但我宁愿避免通过低级ssh模块自己实现scp.

我知道paramiko,一个支持ssh和sftp的Python模块; 但它不支持scp.

背景:我正在连接到不支持sftp但支持ssh/scp的路由器,所以sftp不是一个选项.

编辑:这是如何使用SCP或SSH将文件复制到Python中的远程服务器?. 但是,这个问题没有给出一个scp特定的答案来处理python中的键.我希望有一种运行代码的方式

import scp

client = scp.Client(host=host, user=user, keyfile=keyfile)
# or
client = scp.Client(host=host, user=user)
client.use_system_keys()
# or
client = scp.Client(host=host, user=user, password=password)

# and then
client.transfer('/etc/local/filename', '/etc/remote/filename')
Run Code Online (Sandbox Code Playgroud)

python ssh scp paramiko

147
推荐指数
10
解决办法
23万
查看次数

如何从EC2下载文件

scp应该使用什么参数将文件从Amazon EC2实例下载到本地存储?

scp amazon-ec2

105
推荐指数
2
解决办法
12万
查看次数

如何使用SCP或SSH将文件复制到Python中的远程服务器?

我在本地计算机上有一个文本文件,它由在cron中运行的每日Python脚本生成.

我想添加一些代码,以便通过SSH将该文件安全地发送到我的服务器.

python ssh automation scp

95
推荐指数
6
解决办法
24万
查看次数

使用scp递归复制dir时如何过滤文件?

我需要将所有.class文件从服务器复制到本地,并保留所有目录.例如,server:/usr/some/unknown/number/of/sub/folders/me.class/usr/project/backup/some/unknown/number/of/sub/folders/me.class可问题是,有很多其他的无用文件,例如我不想.svn文件,基本文件.我怎么能过滤它们所以我只有scp.class文件?

directory shell scp file filter

95
推荐指数
4
解决办法
11万
查看次数

如何修复“kex_exchange_identification:读取:对等方重置连接”?

我想scp使用 PRIVATE_KEY 在 GitLab 管道中复制数据。

错误是:

kex_exchange_identification: read: Connection reset by peer
Connection reset by x.x.x.x port 22
lost connection
Run Code Online (Sandbox Code Playgroud)

管道日志:

$ mkdir -p ~/.ssh

$ echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa

$ chmod 600 ~/.ssh/id_rsa

$ eval "$(ssh-agent -s)"
Agent pid 22

$ ssh-add ~/.ssh/id_rsa
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

$ ssh-keyscan -H $IP >> ~/.ssh/known_hosts
# x.x.x.x:22 SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.10
# x.x.x.x:22 SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.10

$ scp -rv api.yml root@$IP:/home/services/test/

Executing: program /usr/bin/ssh host x.x.x.x, user root, …
Run Code Online (Sandbox Code Playgroud)

ssh pipeline scp sshd gitlab-ci

95
推荐指数
3
解决办法
36万
查看次数

SSH SCP本地文件到终端Mac Os X中的Remote

我试图通过VPN使用SSH将本地计算机上的本地文件"magento.tar.gz"复制到远程服务器.这是连接到虚拟机的内部IP,我在这里用作xx.xxxx.

我在SSH帐户上拥有完整的"sudo"访问权限,因此复制过程中不会出现任何问题.我尝试过以下方法:

我尝试了以下(magento.tar.gz文件已经在本地根目录)

sudo scp magento.tar.gz user@xx.x.x.xx/var/www/
Run Code Online (Sandbox Code Playgroud)

这要求我输入我的本地密码.然后返回cp: user@xx.x.x.xx/var/www: Not a directory

sudo scp /Users/myname/magento.tar.gz user@xx.x.x.xx/var/www/
Run Code Online (Sandbox Code Playgroud)

返回相同.

我是否需要在任何地方都包含SSH?

我是否需要先通过SSH连接到该站点?

旁注:我已经设法通过SSH连接到服务器,浏览到目录并创建一个文件夹并使用sudo mkdir等删除它所以我绝对有权限.

ssh terminal command-line scp

85
推荐指数
2
解决办法
25万
查看次数

使用shell脚本自动执行scp文件传输

我的unix系统上的目录中有n个文件.有没有办法编写一个shellcript,将所有这些文件通过scp传输到指定的远程系统.我将在脚本中指定密码,这样我就不必为每个文件输入密码.

shell scp

82
推荐指数
8
解决办法
31万
查看次数

scp来自java

通过Java编程语言执行scp传输的最佳方法是什么?我似乎可以通过JSSE,JSch或充气城堡java库来执行此操作.这些解决方案似乎都没有一个简单的答案.

java scp bouncycastle jsse jsch

78
推荐指数
5
解决办法
9万
查看次数

如何使用部分复制的文件恢复scp?

我用scp shell命令复制文件的大文件夹.

但在某些时候我不得不杀死运行命令(通过Ctrl + C或kill).

我理解scp按顺序复制文件,所以应该只有一个部分复制的文件.

如何恢复相同的scp命令以不覆盖成功复制的文件并正确处理部分复制的文件?

PS我知道我可以在rsync中做这种事情,但是由于某些原因scp对我来说更快,我用它代替.

linux bash scp

76
推荐指数
5
解决办法
5万
查看次数

如何scp与第二个远程主机

我想知道是否有办法通过remote1主机直接从我的本地机器上通过remote2主机获取SCP文件.

网络仅允许从remote1主机连接到remote2主机.此外,remote1主机和remote2主机都不能scp到我的本地计算机.

是否有类似的东西:

scp user1@remote1:user2@remote2:file .

第一个窗口:ssh remote1然后scp remot2:file ..

第二壳: scp remote1:file .

第一窗口: rm file; logout

我可以写一个脚本来完成所有这些步骤,但如果有直接的方法,我宁愿使用它.

谢谢.

编辑:我正在考虑打开SSH隧道,但我很困惑什么值放在哪里.

目前,要访问remote1,我在$HOME/.ssh/config本地计算机上有以下内容.

Host remote1
   User     user1
   Hostname localhost
   Port     45678
Run Code Online (Sandbox Code Playgroud)

一旦打开remote1,要访问remote2,它是标准的本地DNS和端口22.我应该放置remote1和/或更改localhost什么?

scp

75
推荐指数
4
解决办法
8万
查看次数