小编Mar*_*ryl的帖子

FileZilla SFTP通过中间SSH连接

我使用PuTTY连接到基于Linux的中间服务器.在那台服务器上,我ssh用来连接到我试图定位的(基于Linux的)服务器.在那台服务器上我想运行一个程序,但我必须从我的PC发送到内部服务器.无法直接连接.

目前我使用PSFTP到中间服务器,PuTTY + sftp从中间服务器到内部服务器发送文件,但每次都需要做很多工作.

有没有办法使用FileZilla通过中间服务器建立到内部服务器的SFTP连接?

所以代替:

  • PSFTP:PC - > user @ intermediate
  • PuTTY:PC - > user @ intermediate
    • sftp:user @ intermediate - > user @ inner

我想要:

  • FileZilla:PC - > intermediate - > user @ inner

ssh sftp putty filezilla

10
推荐指数
1
解决办法
3万
查看次数

Inno Setup编译器"无法找到指定的路径"错误与长路径

我正在使用.iss脚本在Inno Setup Compiler中构建一个exe文件.我需要将一些node_modules打包到这个应用程序中,所以我有一行看起来像这样:[Files]

Source: "{#SourcePath}Encore.Warehouse.UI\bin\Warehouse_Release\warehouse\*"; \
    DestDir: "{app}\warehouse"; Flags: ignoreversion recursesubdirs createallsubdirs
Run Code Online (Sandbox Code Playgroud)

编译时,我收到此错误:

该系统找不到指定的路径.

这是编译器输出:

编译器输出

所以,它似乎运行正常,直到它中止.我最初的想法是,browser.js它不存在,但经过双重检查,情况并非如此.此外,我在源路径中使用通配符,因此编译器知道该文件存在,但似乎在压缩它时遇到问题.

另一个可能导致问题的是文件路径长度.由于嵌套依赖性,节点模块通常最终会出现荒谬的文件路径长度.在这种情况下,路径长度为260.假设这是造成问题的原因,有什么方法可以绕过它吗?

inno-setup max-path filepath node-modules

10
推荐指数
1
解决办法
2089
查看次数

Paramiko:永久地将host_key添加到known_hosts

这段代码可以帮我建立一个shh连接.我知道set_missing_host_key_policy在没有找到密钥时会有所帮助known_hosts.但它的行为并不像实际的那样ssh,因为在我第一次运行这段代码之后,我认为它host_key会被添加到known_hosts并且我不再需要该函数set_missing_host_key_policy()了.但是,我错了(paramiko.ssh_exception.SSHException).我怎样才能永久添加host_keyknown_hosts使用paramiko?(由于后端代码的某一部分是用'C'编写的,因此需要host_key找到它known_hosts)

还是我误解了什么?我需要一些指导......

import paramiko

client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=str(host),username =str(user),password=str(pswd))
Run Code Online (Sandbox Code Playgroud)

python ssh paramiko

10
推荐指数
2
解决办法
1万
查看次数

使用私钥通过 pysftp 连接到 SFTP 服务器时出现“找不到主机 ***** 的主机密钥”

所以我在通过 SFTP 连接到远程服务器时遇到了很多问题。我已经尝试过像下面这样的正常方法。

sftp = pysftp.Connection(host='Host',username='username',password='passwd',private_key=".ppk")
Run Code Online (Sandbox Code Playgroud)

哪个不起作用。我收到以下错误:

SSHException: 找不到主机 ***** 的主机密钥。

然后我尝试了以下方法:

cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
s = pysftp.Connection(host='host', username='user', password='password', cnopts=cnopts)
Run Code Online (Sandbox Code Playgroud)

这也不起作用。我收到以下错误:

BadAuthenticationType: ('Bad authentication type', ['publickey']) (allowed_types=['publickey'])

同样,当我运行以下命令时:

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("host",username = "username",password = "password")
ssh_session = client.get_transport().open_session()
Run Code Online (Sandbox Code Playgroud)

我犯了同样的错误:

BadAuthenticationType: ('Bad authentication type', ['publickey']) (allowed_types=['publickey'])

python sftp pysftp

10
推荐指数
1
解决办法
2万
查看次数

用Java处理流

在C#中,我几乎总是using在处理流对象时使用该模式.例如:

using (Stream stream = new MemoryStream())
{
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

通过使用using块,我们确保在代码块执行后立即在流上调用dispose.

我知道Java没有等效的using关键字,但我的问题是,当使用像FileOutputStreamJava这样的对象时,我们是否需要做任何内务管理以确保它被处理掉?我正在看这个代码示例,我注意到他们没有做任何事情.

我只是想知道Java处理流的最佳实践是什么,或者它是否足以让垃圾收集器处理它.

java stream

9
推荐指数
2
解决办法
2638
查看次数

使用VB.NET将文件上传到FTP站点

我从这个链接有这个工作代码,将文件上传到ftp站点:

' set up request...
Dim clsRequest As System.Net.FtpWebRequest = _
    DirectCast(System.Net.WebRequest.Create("ftp://ftp.myserver.com/test.txt"), System.Net.FtpWebRequest)
clsRequest.Credentials = New System.Net.NetworkCredential("myusername", "mypassword")
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile

' read in file...
Dim bFile() As Byte = System.IO.File.ReadAllBytes("C:\Temp\test.txt")

' upload file...
Dim clsStream As System.IO.Stream = _
    clsRequest.GetRequestStream()
clsStream.Write(bFile, 0, bFile.Length)
clsStream.Close()
clsStream.Dispose()
Run Code Online (Sandbox Code Playgroud)

我想知道,如果文件已存在于ftp目录中,该文件是否会被覆盖?

.net vb.net ftp ftpwebrequest

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

Python FTP按日期获取最新文件

我使用ftplib连接到ftp站点.我想获取最近上传的文件并下载它.我能够连接到ftp服务器并列出文件,我也将它们放在一个列表中并获得datefield转换.是否有任何功能/模块可以获取最近的日期并从列表中输出整行?

#!/usr/bin/env python

import ftplib
import os
import socket
import sys


HOST = 'test'


def main():
    try:
        f = ftplib.FTP(HOST)
    except (socket.error, socket.gaierror), e:
        print 'cannot reach to %s' % HOST
        return
    print "Connect to ftp server"

    try:
        f.login('anonymous','al@ge.com')
    except ftplib.error_perm:
        print 'cannot login anonymously'
        f.quit()
        return
    print "logged on to the ftp server"

    data = []
    f.dir(data.append)
    for line in data:
        datestr = ' '.join(line.split()[0:2])
        orig-date = time.strptime(datestr, '%d-%m-%y %H:%M%p')


    f.quit()
    return


if __name__ == '__main__':
    main() …
Run Code Online (Sandbox Code Playgroud)

python linux ftp ftplib

9
推荐指数
3
解决办法
1万
查看次数

Microsoft SmartScreen - 使用 Inno Setup 安装程序暂停?

我总是使用 Inno Setup 进行打包和发布。用户使用链接下载应用程序,例如:https : //oursite.com/codesigned/mysetup.exe

直到现在,它一直有效。但最近我必须更新我的代码签名证书,因为它已过期。更新后我遇到了 SmartScreen 问题,每个用户都下载了应用程序并获得了以前没有的 Smartscreen。

在此处输入图片说明

我已经使用signtool.exe verify /pa innosetup-made-myexe.exe并显示成功,我也使用 进行了验证Windows Application Certification Kit,表明它已通过,但带有警告,所有这些警告主要由 Inno Setup 生成。

在此处输入图片说明 在此处输入图片说明

在这里你可以找到输出,它在 Inno Setup exes 上显示警告:

https://docs.google.com/document/d/11frW_GxI0xSVcrAXh4_rqcKBQSaermAlpYKj4xzQi4o/pub

我该如何解决这个问题?

(仍然不确定它的标准代码签名与 EV 代码签名问题?我已经使用标准代码签名几年了,它总是有效。我可以升级到 EV 代码签名,但我如何确保它不是 Inno Setup 编译器问题?如您所见,警告已显示在上面 Inno Setup 的 URL 中)

为了验证它是否是 Inno Setup 或代码签名问题(参见/sf/answers/2034730981/),我做了以下工作:

  1. 我从微软下载了winqual.exe不需要 Inno Setup的文件调用。

  2. 我代码签名winqual.exe并上传到我的同一台服务器

  3. 我用 Internet Explorer 下载了相同的文件,它在不显示 SmartScreen 的情况下工作。

如果 Inno Setup 是导致此问题的主要原因,现在是否有意义?

windows inno-setup code-signing smartscreen

9
推荐指数
1
解决办法
3921
查看次数

JSch 从字符串中添加私钥

我将 SFTP 的密钥对文件的内容作为字符串。我需要使用 JSch 添加内容,但addIdentity只接受文件路径。无论如何我可以做到这一点吗?

我看到这个KeyPair类有一个方法 -

KeyPair load(JSch jsch, byte[] bytes, byte[] bytes1)
Run Code Online (Sandbox Code Playgroud)

我不确定这是做什么的。

java ssh sftp jsch private-key

9
推荐指数
1
解决办法
9787
查看次数

在 Python 中通过 SSH 隧道连接到 PostgreSQL 数据库

我正在尝试远程连接到服务器,然后使用 Python 访问它的本地数据库。我已成功连接到服务器,但似乎无法连接到服务器上的数据库。我的代码如下:

import psycopg2
from sshtunnel import SSHTunnelForwarder

try:

    with SSHTunnelForwarder(
         ('<server ip address>', 22),
         ssh_private_key="</path/to/private/ssh/key>",
         ssh_username="<server username>",
         remote_bind_address=('localhost', 5432)) as server:

        print "server connected"
        
        conn = psycopg2.connect(database="<dbname>",port=server.local_bind_port)
        curs = conn.cursor()
        print "database connected
    
except:
    print "Connection Failed"
Run Code Online (Sandbox Code Playgroud)

这些是我在互联网上找到并拼凑起来的代码片段。我还尝试了下面的连接语句来代替上面的代码:

params = {
  'database': '<dbname>',
  'user': '<dbusername>',
  'password': '<dbuserpass>',
  'host': 'localhost',
  'port': 5432
}
conn = psycopg2.connect(**params)
Run Code Online (Sandbox Code Playgroud)

我知道我可以连接到数据库,因为在我的机器上;我能够使用sqlectron隧道并适当地连接。

以防万一不清楚我想从上面做什么,我需要使用我计算机上的私有 ssh 密钥通过 ssh 隧道进入我的远程服务器(正常工作),然后我需要连接到一个 PostgreSQL 数据库对localhost在端口5432

我目前收到两种尝试连接方式的当前错误消息:

import psycopg2
from sshtunnel import SSHTunnelForwarder

try:

    with …
Run Code Online (Sandbox Code Playgroud)

python database postgresql ssh ssh-tunnel

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