我使用PuTTY连接到基于Linux的中间服务器.在那台服务器上,我ssh用来连接到我试图定位的(基于Linux的)服务器.在那台服务器上我想运行一个程序,但我必须从我的PC发送到内部服务器.无法直接连接.
目前我使用PSFTP到中间服务器,PuTTY + sftp从中间服务器到内部服务器发送文件,但每次都需要做很多工作.
有没有办法使用FileZilla通过中间服务器建立到内部服务器的SFTP连接?
所以代替:
我想要:
我正在使用.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.假设这是造成问题的原因,有什么方法可以绕过它吗?
这段代码可以帮我建立一个shh连接.我知道set_missing_host_key_policy在没有找到密钥时会有所帮助known_hosts.但它的行为并不像实际的那样ssh,因为在我第一次运行这段代码之后,我认为它host_key会被添加到known_hosts并且我不再需要该函数set_missing_host_key_policy()了.但是,我错了(paramiko.ssh_exception.SSHException).我怎样才能永久添加host_key到known_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) 所以我在通过 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'])
在C#中,我几乎总是using在处理流对象时使用该模式.例如:
using (Stream stream = new MemoryStream())
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
通过使用using块,我们确保在代码块执行后立即在流上调用dispose.
我知道Java没有等效的using关键字,但我的问题是,当使用像FileOutputStreamJava这样的对象时,我们是否需要做任何内务管理以确保它被处理掉?我正在看这个代码示例,我注意到他们没有做任何事情.
我只是想知道Java处理流的最佳实践是什么,或者它是否足以让垃圾收集器处理它.
我从这个链接有这个工作代码,将文件上传到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目录中,该文件是否会被覆盖?
我使用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) 我总是使用 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/),我做了以下工作:
我从微软下载了winqual.exe不需要 Inno Setup的文件调用。
我代码签名winqual.exe并上传到我的同一台服务器
我用 Internet Explorer 下载了相同的文件,它在不显示 SmartScreen 的情况下工作。
如果 Inno Setup 是导致此问题的主要原因,现在是否有意义?
我将 SFTP 的密钥对文件的内容作为字符串。我需要使用 JSch 添加内容,但addIdentity只接受文件路径。无论如何我可以做到这一点吗?
我看到这个KeyPair类有一个方法 -
KeyPair load(JSch jsch, byte[] bytes, byte[] bytes1)
Run Code Online (Sandbox Code Playgroud)
我不确定这是做什么的。
我正在尝试远程连接到服务器,然后使用 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 ×4
ssh ×4
sftp ×3
ftp ×2
inno-setup ×2
java ×2
.net ×1
code-signing ×1
database ×1
filepath ×1
filezilla ×1
ftplib ×1
jsch ×1
linux ×1
max-path ×1
node-modules ×1
paramiko ×1
postgresql ×1
private-key ×1
putty ×1
pysftp ×1
smartscreen ×1
ssh-tunnel ×1
stream ×1
vb.net ×1
windows ×1