SSH2_SCP_SEND()使用PHP损坏PDF
当我向服务器发送PDF文件时,我遇到了问题. 当我尝试发送.csv文件时,我的脚本起作用,但是当我尝试发送PDF文件 时会出现问题 当我发送PDF时.它在目标位置创建一个PDF文件,但已损坏. 解决方案 尝试SFTP.示例如下. 使用libssh2:
4 2023-06-01
编程技术问答社区
使用phpseclib使用SCP上传文件
我需要创建2个功能:一个功能:一个使用SFTP上传文件,然后使用SCP上传文件.我正在使用 phpseclib 和put方法;我相信我已经完成了SFTP功能. 现在,我正在尝试执行SCP功能. per http://adomas.eu/phpseclib-for-for-ssh-and-scp-connections-with-php-for-managing-remote-server-server-server-server-server-server-server-server-server-and-data-exchange/,似乎以下是我需要做的事情: In case of SCP: 1. Including the needed file: include('/path/to/needed/file/Net/SFTP.php'); 2. Creating object and making connection: $sftp = new Net_SFTP('hos
0 2023-06-01
编程技术问答社区
cURL sftp公钥认证失败 "回调错误"
我有一些php代码,可以使用curl使用curl for主机上载文件,这些curl仅使用用户和密码ftp,现在我必须上传到仅允许公共密钥auth并收到错误的服务器:"* ssh public密钥身份验证失败:回调返回错误" 我对键的问题有问题,因为它们的格式不正确,但此后将它们设置为正确的单行格式,这阻止了"不是base64编码"错误.我在网上无法找到此回调错误的帮助. 我的代码如下. $ch = curl_init(); curl_setopt($ch, CURLOPT_VERBOSE, TRUE); curl_setopt($ch, CURLOPT_URL, 'sftp://user:@12.12.12.12:22/testfile.gz'); curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_SFTP); curl_setopt($ch, CURLOPT_SSH_PUBLIC_KEYFILE,'C:\keys\publi
0 2023-05-27
编程技术问答社区
如何在scp模块中提供用户名和密码作为输入?
我正在尝试使用以下方式将文件从一个主机复制到另一个主机: Net::SCP::Expect 这是我的程序. use strict; use Net::SCP::Expect; print "enter user name\n"; my $username = ; print "enter password\n"; my $pass = ; print "enter host name\n"; my $host = ; my $src_path = "/"; my $dst_path = "/"; my $scpe = Net::SCP::Expect->new(user=>$username, password=>$pass, auto_yes=> '1'); $scpe->scp($host.":".$src_path, $dst_path); 我遇到错误的密码.如何将用户名和密码作为SCP模块中的输入? 解决方案
4 2023-05-25
编程技术问答社区
Mac OS X上的scp问题:scp不喜欢文件名中的空格,"/"修复不起作用
我试图使用SCP在两个Mac之间传输文件(OS 10.6.8).但是它失败了,因为我的目录/文件名中有空格.我无法更改目录/文件名. 在用Macs在终端工作时,我经常使用\符号来表示空间.但是,在这种情况下,它不起作用.我非常感谢有关如何处理此问题的任何提示.谢谢. 这是我在做什么的示例,以防万一我在某个地方犯了一个愚蠢的错误: scp -r me@myWork:../../My\ documents/Projects/Project\ 1/* ./Desktop Error: scp: ../../My: No such file or directory 我也尝试了rsync,这也行不通: rsync -avub -e ssh me@myWork::../../My\ documents/Projects/Project\ 1/* ./Desktop rsync: connection unexpectedly closed (0 bytes rece
0 2023-05-21
编程技术问答社区
从Linux到Windows的scp
我正在Windows计算机上运行一个油灰客户端,以成功连接到Linux盒.现在,我希望能够从路径/home/ubuntu/myfile下的Linux计算机上将文件复制到本地计算机上的C:/Users/Anshul/Desktop. Windows机器上的用户为anshul.我在油灰上提供以下命令,但它不起作用: scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop 我认为Windows机器的路径是错误的.请提供帮助,因为我已经在大量论坛上敲了个头,但似乎没有一个为Windows服务器提供了正确的路径.不要建议替代选项,例如WinScp 解决方案 这个对我有用. scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop 其他解决方案 下载pscp来自psc
0 2023-05-21
编程技术问答社区
Python。执行scp,密码的stdin不工作
我正在尝试以下 from subprocess import Popen, PIPE Popen(["scp", "-B","user@url:file", "."], stdin=PIPE, shell=False).communicate(input="password") ,但我仍然收到密码提示,并且没有发送密码. 我知道我可以将SCP与钥匙一起使用,但这不是我需要的. 有帮助吗? 解决方案 scp 直接与终端相互作用,而不是从 stdin 中读取,您无法通过管道传递密码,IT安全性是SCP和SFTP,SSH. 是一样的 您可以在终端中尝试(并且它将无法使用): echo "password" | scp me@localhost:test . 其他解决方案 正如其他人所说的那样,SCP(和SSH)直接从控制台而不是stdin读取密码,因此使用子程序发送密码将不起作用.您可以使用 pexpect 而不是 - 请参阅文档和许多示例.
6 2023-05-21
编程技术问答社区
在shell脚本中使用SCP时,如何响应密码提示?
首先,我很清楚有关此主题的许多问题.我已经阅读了它们,但仍然可以为我的情况找出适当的答案. 我想scp带有外壳脚本的整个~/cs###/assign1 dir.我的问题是,我的脚本中有没有办法等待密码提示,然后模拟密钥板事件以在我的密码中"键入"? 在这里是一个非常详细的指南,讲述了如何设置密钥 解决方案 不允许使用SSH键?那将是一个更好的解决方案. 其他解决方案 使用" sshpass"! #!/bin/bash sshpass -p "password" scp -r /some/local/path user@example.com:/some/remote/path 其他解决方案 我认为您无法轻松地做到这一点.您的可以做的是使用公共密钥身份验证. 沿这些线的东西 ssh-keygen -t rsa ssh school mkdir .ssh/ cat ~/.ssh/id_rsa.pub | ssh school "cat >>
0 2023-05-21
编程技术问答社区
检查是否使用Paramiko在远程主机上存在路径
paramiko的 sftpclient 显然没有一个exists>>>>>>>>>>>>>>>>>>方法.这是我当前的实施: def rexists(sftp, path): """os.path.exists for paramiko's SCP object """ try: sftp.stat(path) except IOError, e: if 'No such file' in str(e): return False raise else: return True 有更好的方法吗?在异常消息中检查子字符串非常丑陋,并且可能不可靠. 解决方案 请参阅except IOError, e: # or "as" if you're using Python 3.0 if e.errno == errno.ENOENT: ... 其
24 2023-05-19
编程技术问答社区
Paramiko的超时(Python)
我正在寻找一种为此设定超时的方法: transport = paramiko.Transport((host, port)) transport.connect(username = username, password = password) sftp = paramiko.SFTPClient.from_transport(transport) sftp.get(remotepath, localpath) sftp.close() transport.close() 解决方案 可以使用timeout参数设置连接超时(这指示 seconds 的时间如所述 s onery connect function. ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(host, username=username, password=p
22 2023-05-19
编程技术问答社区
如何获取最新的文件夹,该文件夹包含Linux中的特定文件并使用Python中的Paramiko下载该文件?
我正在尝试使用python中的paramiko从远程服务器到本地计算机进行特定文件. 背景: 目标计算机上有一个目录mydir 198.18.2.2,其中包含许多时间戳记目录,该目录以名称2020... 开始 目标机器:198.18.2.2 源机:198.18.1.1 到目前为止,我已经设法构建了命令,要执行如下 - cd "$(ls -1d /mydir/20* | tail -1)"; scp -o StrictHostKeyChecking=no email_summary.log root@198.18.1.1:/mydir/work/logs/email_summary_198.18.2.2.log 代码: def remote_execute(dest_ip, cmd): """API to execute command on remote machine""" result = [] sys.stderr =
4 2023-05-19
编程技术问答社区
Paramiko SCP复制来自远程计算机正则表达式
是否可以使用paramiko scp. 我有以下代码,仅当我提供完整的路径或确切的文件名 时才复制 以下是代码 import paramiko import os from paramiko import SSHClient from scp import SCPClient def createSSHClient(self, server): client = paramiko.SSHClient() client.load_system_host_keys() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(server, self.port, self.user, self.password) return client def get_copy(self, hostname, dst): ssh =
6 2023-05-19
编程技术问答社区
paramiko/scp-检查远程主机上是否存在文件
我正在使用Python Paramiko和SCP在远程计算机上执行一些操作.我使用的一些机器需要文件在其系统上本地可用.在这种情况下,我正在使用Paramiko和SCP来复制文件.例如: from paramiko import SSHClient from scp import SCPClient ssh = SSHClient() ssh.load_system_host_keys() ssh.connect('192.168.100.1') scp = SCPClient(ssh.get_transport()) scp.put('localfile', 'remote file') scp.close() ssh.close() 我的问题是,在尝试SCP之前,我如何检查远程计算机上是否存在" Localfile"? 我想尝试在可能的情况下尝试使用python命令,即不bash 解决方案 改用Paramiko的SFTP客户端.此示例程序在复制之前检查存
4 2023-05-19
编程技术问答社区
使用Python的ScpClient库中使用文件名中的通配符
我想使用Python脚本将文件复制到我的本地计算机.我只知道文件名的扩展名,因此我想使用通配符表达文件名. 此外,我想使用 scpclient python库,而不是直接使用 os.System ,如标题为但是,当我运行以下代码时: from paramiko import SSHClient import paramiko from scp import SCPClient with SSHClient() as ssh: ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('10.10.100.5', username= 'root', password='Secret') with SCPClient(ssh.get_transport()) as scp: scp.get(remote_path='/root/*.py', local_pa
4 2023-05-19
编程技术问答社区
ssh/scp通过paramiko带有键在字符串中
我得到了一个很棒的paramiko python脚本,可以通过SCP协议传输文件.但是我的需要是一个没有任何其他文件依赖性的文件(script.py) 我要做的是将私钥嵌入到字符串变量中,并将此变量用作脚本所需的文件进行连接.我尝试使用StringIO库,但似乎不起作用: hostname = '1.1.1.1' # remote hostname where SSH server is running port = 22 username = 'user' password = 'pswd' dir_local='/home/paramikouser/local_data' dir_remote = "remote_machine_folder/subfolder" glob_pattern='*.*' import os import glob import paramiko import md5 import StringIO private_key = String
4 2023-05-19
编程技术问答社区
如何在Python中进行SCP?
python中scp文件的最抽烟方法是什么?我知道的唯一路线是 os.system('scp "%s" "%s:%s"' % (localfile, remotehost, remotefile) ) 这是一个黑客,它在类似Linux的系统之外不起作用,并且需要PEXPECT模块的帮助,以避免密码提示,除非您已经将无密码的SSH设置为远程主机. 我知道扭曲的conch,但是我宁愿避免通过低级SSH模块自己实施SCP. 我知道paramiko是一个支持SSH和SFTP的Python模块;但它不支持SCP. 背景:我正在连接到不支持SFTP但支持SSH/SCP的路由器,因此SFTP不是一个选项. 编辑: 这是import scp client = scp.Client(host=host, user=user, keyfile=keyfile) # or client = scp.Client(host=host, user=user) client.use
18 2023-05-19
编程技术问答社区
使用crypto/ssh的golang scp文件
我正在尝试通过SSH下载远程文件 以下方法在外壳上正常工作 ssh hostname "tar cz /opt/local/folder" > folder.tar.gz 然而,关于golang的方法在输出伪像的大小上有所不同.例如,带有纯壳的同一文件夹会产生179b的Artifact GZ文件,以及GO脚本178B. 我认为io.reader或会话较早关闭了一些东西.请你们帮忙. 这是我脚本的示例: func executeCmd(cmd, hostname string, config *ssh.ClientConfig, path string) error { conn, _ := ssh.Dial("tcp", hostname+":22", config) session, err := conn.NewSession() if err != nil { panic("Failed to create sessio
6 2023-04-26
编程技术问答社区
使用nodejs中的SSH2传输整个目录
我只是想知道是否可以使用Node.js中的SSH2模块将目录从UNIX服务器转移到本地计算机.我已经连接到远程主机,可以读取目录以及传输单个文件,但是目录中有28个文件夹,每个文件夹都包含文件和子目录.我想做的是从服务器到本地计算机的主要目录的确切副本. 我在单个文件中使用了fastget,但是传输目录给出了:Error: EISDIR, open __dirname/../localdirectory/,我认为我不能使用fastget来获取整个目录.我还尝试使用exec命令尝试将其换成SCP,但是我无法为本地目录制定语法: // c is an active connection c.exec('scp filethatexists.extension /../filepath/newname.extension', function(err, stream) { if (err) { console.log("error: " + err);
0 2023-04-26
编程技术问答社区
如何修复?"kex_exchange_identification: read: 连接被对方重置"
我想使用private_key在gitlab管道中使用scp复制数据 错误是: kex_exchange_identification: read: Connection reset by peer Connection reset by x.x.x.x port 22 lost connection 管道日志: $ 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-Ope
10 2023-04-26
编程技术问答社区