`
wenhai_zhang
  • 浏览: 186174 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sftp连接问题

SSH 
阅读更多

项目中需要用到sftp上传文件到服务器。使用了j2ssh包。

 

在开发过程中没有出现任何问题,连接步骤:

SshClient ssh = null;
ConfigurationLoader.initialize(false);
// Make a client connection
ssh = new SshClient();

// Connect to the host
ssh.connect(host,port);
KBIAuthenticationClient kbi = new KBIAuthenticationClient();
kbi.setUsername(username);

kbi.setKBIRequestHandler(new KBIRequestHandler(){
  public void showPrompts(String arg0, String arg1,KBIPrompt[] prompts)
{
    if(prompts != null)
    {
      prompts[0].setResponse(password);
    }
  }
});

// Try the authentication
int iresult = ssh.authenticate(kbi);
// Evaluate the result
if (iresult == AuthenticationProtocolState.COMPLETE) {
  // The connection is authenticated we can now do some real work!
  sftp = ssh.openSftpClient();
  attrs = sftp.stat(dir);
}
else
{
  ssh = null;
}
if(sftp != null && !sftp.isClosed())
{
  try {
    sftp.quit();
  } catch (IOException e) {
    Tracer.error("sFTP connect quit failed.Exception:" + e.toString());
  }
}
if(ssh != null && ssh.isConnected())
{
  ssh.disconnect();
}

 

后来在测试机器上运行发现,每次连接都会向服务器询问:Do you want to allow this host key? [Yes|No|Always]:

经过查看代码发现,在连接时,加入HostKeyVerification,可使连接默认选择,不再需要询问用户。

ssh.connect(host,port,new HostKeyVerification(){
/**
* 不用验证Host key,直接连接 
 */
  public boolean verifyHost(String arg0, SshPublicKey arg1) throws TransportProtocolException {
    return true;
  }
});

 

分享到:
评论

相关推荐

    Delphi 通过SFTP连接Linux服务器

    在Delphi中,我们可以利用第三方库或组件来实现SFTP连接,例如LibSSH2、WinSSHD、Chilkat等。 1. **使用LibSSH2库**: LibSSH2是一个开源的C语言库,支持多种SSH协议,包括SFTP。要在Delphi中使用,需要将库封装为...

    SFTP 连接工具解压即用版

    FileZilla 是一个流行的SFTP连接工具,它提供了图形化的用户界面,使得用户可以方便地进行文件的上传、下载以及管理。FileZilla 支持多种协议,包括FTP、FTPS(FTP over TLS/SSL)以及我们关注的SFTP。这款软件是...

    sftp连接池和springboot启动器.rar

    通过 sftp 连接 ,端口为默认的 22,用户为 Linux 当前登录用户。 格式:sftp -oPort=<port> 通过 sftp 连接 ,指定端口 ,用户为 Linux 当前登录用户。 格式:sftp <user>@ 通过 sftp 连接 ,端口为默认的 22...

    WinSCP(SFTP连接器,Linux专用)

    支持多种方式的连接器,注意,只能连接Linux,特别是对开Minecraft服务器的版主们最有用处!——By:LINhim

    通过iptables限制sftp端口连接数(运维笔记)

    本文档详细介绍了通过iptables限制sftp端口连接数的运维操作方法,以及预防CC/DDOS攻击的设置措施.在此分享,希望能帮助到有用到的朋友!

    WinScp后台自动连接SFTP代码

    C# 后台自动连接SFTP 下载上传文件

    远程连接工具,支持SFTP,FTP 需要自带jdk环境

    远程连接工具,支持SFTP,FTP 需要自带jdk环境 该平台类似于网页版的Xshell,基于cookie和json的方式存储登录信息无数据库更方便兼容每个用户的使用,支持SFTP和FTP两种登录方式,打破原有黑端显示命令行和文件名的...

    winscp sftp客户端ftp连接工具

    **Winscp SFTP客户端FTP连接工具** Winscp是一款广受欢迎的免费开源文件传输协议(FTP)客户端,尤其在IT行业中,它以其支持安全文件传输协议(SFTP)而备受推崇。这款工具允许用户通过SSH(Secure Shell)协议安全...

    连接sftp服务器

    首先,我们需要一个Java库来处理SFTP连接。常用的是JSch(Java Secure Channel),这是一个开源的SSH2库,支持SFTP。要使用JSch,你需要将其添加到你的项目依赖中。如果你使用Maven,可以在pom.xml文件中添加如下...

    DELPHI 连接SFTP(含无密码Public Key和Private Key登录)

    使用Delphi连接SFTP,代码完整,dll和pas、dcu文件齐全;功能完整,包含有密码登录和无密码Public Key和Private Key登录,已在Delphi7下运行通过,参考意义大。

    sftp操作实例

    连接SFTP服务器可以通过命令行或者图形界面完成。在命令行中,你可以输入: ```shell sftp username@server_address ``` 然后输入密码或使用密钥对进行身份验证。在图形界面客户端中,只需输入相关信息,点击连接...

    可以作为shell工具,通水可以连接SFTP作为SFTP管理工具,还可以自定义输入命令自动输入

    可以作为shell工具,通水可以连接SFTP作为SFTP管理工具,还可以自定义输入命令自动输入

    SFTP第三方插件及连接测试程序

    通过这样的测试,开发者可以快速诊断问题,确保SFTP连接的可行性。 在实际使用中,SFTP第三方插件可以扩展和增强原生SFTP客户端的功能。例如,有些插件可能提供了更友好的用户界面,方便用户浏览和操作远程文件系统...

    Nginx代理SFTP和TCP协议通讯测试.docx

    例如,在本文档中,使用 SFTP 客户端连接到 10.0.85.137:22 端口,Nginx 将连接请求转发到 10.0.85.133:22 端口的 SFTP 服务器。 4. TCP 协议通讯: Nginx 除了支持 SFTP 代理外,还支持 TCP 协议通讯。TCP 协议是...

    java SFTP上传所需jar和秘钥工具

    在这里提到的`putty-64bit-0.70-installer.msi`是64位版本的PuTTY安装程序,虽然PuTTY本身不是Java SFTP上传的直接依赖,但它通常用于测试SSH连接,生成密钥对(公钥和私钥),以及调试连接问题。PuTTY生成的密钥...

    sharpSSH c#实现SFTP的东东

    在使用SharpSSH时,开发者可以创建SFTP连接,执行基本的文件操作,如上传、下载、列出目录、移动和删除文件等。例如,通过以下C#代码片段可以创建一个SFTP连接: ```csharp using Tamir.SharpSsh; Sftp sftp = new...

    C#sftp实现对文件的操作

    这两个库都提供了方便的API来实现SFTP连接。以SSH.NET为例,我们首先需要安装NuGet包Renci.SshNet,然后创建一个SftpClient实例,输入服务器地址、用户名和密码: ```csharp using Renci.SshNet; var ssh = new ...

    SFTP.rar_c sftp_mfc sftp_sftp_sftp mFC_socket实现sftp

    6. **错误处理**:网络通信中难免会遇到连接断开、数据传输错误等问题,因此良好的错误处理机制是必不可少的。 7. **安全性**:SFTP强调的是安全传输,因此代码中应包含安全的密钥管理、证书验证等安全措施。 8. *...

    SFTP連接所用到的jsch.jar包

    总的来说,JSch库为Java开发者提供了一种强大且灵活的方式来实现SFTP连接和文件操作。无论是进行简单的文件传输还是构建复杂的文件管理系统,JSch都能满足需求。通过熟悉其API和最佳实践,开发者可以有效地集成SFTP...

    基于SSH协议的sftp协议

    该问题是由于SFTP协议的编码问题所致,可以通过设置编码方式来解决该问题。例如,可以使用UTF-8编码来解决乱码问题。 SFTP协议是一种安全的文件传输协议,提供了可靠的文件传输机制。通过JSch库,可以在Java应用...

Global site tag (gtag.js) - Google Analytics