在尝试SFTP文件从Windows到Unix服务器时,我遇到了一个奇怪的问题.错误"堆栈跟踪"是 -
4: Failure
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
    at com.jcraft.jsch.ChannelSftp.checkStatus(ChannelSftp.java:2459)
    at com.jcraft.jsch.ChannelSftp._sendCLOSE(ChannelSftp.java:2465)
    at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:683)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:475)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:365)
我在其他论坛上搜索了很多,但无法找到根本原因.我还观察了一件事 - 文件名,我正在尝试使用SFTP,当我将其更改为*.XML时,它是*.xml,SFTP是"成功的".非常奇怪无法确定问题.我正在尝试使用JSch Java API.但是我在尝试WinSCP前端时遇到了同样的问题.
我能够连接到运行docker系统的主机.但我无法找到如何直接连接到docker.有没有人知道我需要在WinSCP中添加连接进行调整?当然,我可以通过putty打开,但我想通过WinSCP连接.
我仔细按照这里的说明操作,但是我没有正确使用.这是我做的:
跳过启动消息时出错.您的shell可能与应用程序不兼容(建议使用BASH).
注意:这适用于Putty
使用nuget安装程序安装WinSCP .net.
Visual Studio 2013
SSIS BIDS 2012
项目引用是正确的 - 指向已安装的DLL
Project包含一个脚本,该脚本是winscp站点的示例代码的精简版本.尝试实例化SessionOptions对象的第一行失败.如果我删除SessionOptions对象,那很好.
在GAC中按照说明注册winscpnet.dll.
在visual studio ssis调试器中启动脚本,得到这个:
在System.RevlectionMethodHandle.InvokeMethod(Object target,Object [] arguments,Signature sig,Boolean constructor)at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,Object [] parameters,Object [] arguments)at System.Reflection.RuntimeMethodInfo.
System.RuntimeType.InvokeMember(String name,BindingFlags bindingFlags,Binder binder,Object target,Object [] providedArgs,ParameterModifier [] modifiers,CultureInfo culture ,Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object []参数,CultureInfo文化),String [] namedParams)在Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
    public void Main()
    {
        SessionOptions sessionOptions = new SessionOptions
        {
            Protocol = Protocol.Sftp,
            // To setup these variables, go to SSIS > Variables.
            // To make them accessible from the script task, in the …您好我可以使用我自己的用户名使用WinSCP登录GCE VM,无法以root身份登录...默认情况下,根据Google,可以更改.
改变如下:
第1步:登录SSH和Su Root
# sudo su root
第2步:更改密码Root
#passwd root
第3步:配置SSHD允许Root登录
#nano /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
#service sshd restart (I used ssh as I'm using ubuntu and sshd wouldn't work)
试图通过WinSCP以root身份登录但是我得到了
"收到太大(1349281121 B)SFTP数据包.最大支持的数据包大小为1024000 B.该错误通常是由启动脚本(如.profile)打印的消息引起的.该消息可能以'Plea'开头." 无法初始化SFTP协议.主机是否运行SFTP服务器?"
有任何想法吗?
我有一个目录,里面有多个目录,每个目录包含几个图像文件.
我想将所有子目录及其中的图像文件的文件权限更改为755 .
我正在使用WinSCP连接到服务器.那么如何一次更改文件权限,因为有很多文件我不能一个接一个地更改.
我可以使用WinSCP GUI定义代理服务器.如果我这样做,我就能连接到远程主机.但在代码中我找不到为WinSCP声明代理服务器的方法.
在这种情况下,我收到了
远程服务器返回错误(407)需要代理身份验证.
我的代码:
SessionOptions sessionOptions = new SessionOptions
   {
       Protocol = protocol,
       HostName = hostname,
       UserName = user,
       Password = pass,
       PortNumber = portnumber
   };
using (Session session = new Session())
{
    session.ExecutablePath = @"C:\Program Files (x86)\WinSCP\WinSCP.exe";
    session.Open(sessionOptions);
    TransferOptions options = new TransferOptions();
    options.FileMask = mask;
    SynchronizationResult synchronizationResult;
    synchronizationResult =
        session.SynchronizeDirectories(mode, local, path, deletefiles, options: options);
    synchronizationResult.Check();
}
我在基于Windows 7的VMware(VMware®Workstation7.1.6)中安装了Ubuntu13_desktop.现在我想从Windows 7连接到Ubuntu.将WMware设置为仅限主机.在Windows中安装WinSCP,已配置
protocol: SFTP;
Host name: ubuntu;
Port: 22;
UserName: oracle;
Password: ***.
点击登录,它显示
Searching for host...
Connection to host...
Authenticating...
Using username "oracle"
Authenticating with pre-entered password.
Access denied.
Access denied.
我可以通过cmd成功ping Ubuntu.
谁能帮助我让我通过WinSCP访问Ubuntu?提前致谢.
无论如何,使用DOS命令/其他命令行工具(通过在命令中指定用户名和密码)将文件从Windows机器复制到远程Linux机器.我通常使用WinSCP执行此操作,并希望编写一个脚本(BAT)来自动执行此操作.
我正在尝试通过 WinSCP 使用 C# 连接到 FTPS 服务器,但出现此错误:
SSH 主机密钥指纹...与模式不匹配...
经过大量研究,我认为这与密钥的长度有关。在“服务器和协议信息”下使用其接口连接时,我从 WinSCP 获得的密钥是xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx  但我在示例中看到的密钥
更短,如下所示xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
有人可以帮助我并为我提供解决此问题的任何指示,将不胜感激。
这是我的代码
string winscpPath = "C:\\Program Files (x86)\\WinSCP\\WinSCP.exe";
string username = "User123";
string password = "abc1234";
string ftpSite = "192.168.5.110";
string localPath = "C:\\Users\\ttom\\Documents";
string remoteFTPDirectory = "/Usr/thisfolder";
string sshKey = "1b:68:10:80:77:c6:65:91:51:31:5t:65:1c:g6:13:20:39:g8:d8:6d";
Boolean winSCPLog = true;
string winSCPLogPath = "C:\\Users\\ttom\\Documents\\Visual Studio 2015\\Projects\\WebApplication1\\WebApplication1";
SessionOptions sessionOptions = new SessionOptions
{
    Protocol = Protocol.Sftp,
    HostName = ftpSite,
    UserName = username,
    Password = password,
    SshHostKeyFingerprint = sshKey
}; …