使用JCSH连接sftp

  • 认证方式为:keyboard-interactive
  • 连接sftp
  • 调试Logger实现

认证方式为:keyboard-interactive

需要一个用户类来保存密码
代码如下:


import com.jcraft.jsch.UIKeyboardInteractive;
import com.jcraft.jsch.UserInfo;public class UserClass implements UIKeyboardInteractive, UserInfo {private String passwd;@Overridepublic String[] promptKeyboardInteractive(String destination, String name, String instruction, String[] prompt, boolean[] echo) {String[] response = new String[prompt.length];response[0] = passwd;return response;}public String getPassphrase() {return null;}public String getPassword() {return passwd;}public void setPassword(String pass) {this.passwd = pass;}public boolean promptPassword(String message) {return false;}public boolean promptPassphrase(String message) {return false;}public boolean promptYesNo(String message) {return false;}public void showMessage(String message) {}
}

连接sftp

 public static void main(String[] args) throws Exception {String ftpHost = "xxx";int ftpPort = port;String userName = "xxx";String password = "xxx";MyJschLogger logger = new MyJschLogger();JSch.setLogger(logger);JSch jsch = new JSch(); Session session = jsch.getSession(ftpUserName, ftpHost, ftpPort); Properties conf = new Properties();conf.put("StrictHostKeyChecking", "no");conf.put("PreferredAuthentications", "keyboard-interactive");session.setConfig(conf);session.setTimeout(1500);UserClass userClass = new UserClass();userClass.setPassword(ftpPassword);session.setUserInfo(userClass);Sftp sftp = new Sftp(session);String localFile = "xxx";String remoteTargetDirectory = "xx";sftp.put(localFile, remoteTargetDirectory);sftp.close();}

此处引用了hutool的包 用原生jsch也是一样的
至此完成 认证方式为:keyboard-interactive 本地文件推送至ftp的流程

调试Logger实现

public class MyJschLogger implements com.jcraft.jsch.Logger {public boolean isEnabled(int level) {return true;}public void log(int level, String msg) {System.out.println(msg);}
}

JCSH通过:keyboard-interactive连接open-ssh相关推荐

  1. 【远程连接】SSH链接远程主机

    自己手头有: mac book pro 树莓派一个 想用ssh远程连接树莓派,这样显示器就能解放给别的PC去使用了,显示器目前看来是需要竞争的资源hhhh 这里写目录标题 怎么连接ssh 客户端 使用 ...

  2. 【地平线旭日X3派试用体验】WIFI连接,SSH登录,TogetherROS安装(第二节)

    我短期目标是想将F37摄像头采集的数据,在电脑web端显示出来,在这之前需要有几项准备工作. F37摄像头已从淘宝购买到货,这一节介绍WIFI 连接,SSH登录,TogetherROS安装. 一,WI ...

  3. linux远程桌面ipad,如何实现远程连接(SSH)iPhone/iPad?

    大家都知道,iOS系统是基于Unix的,算是Unix衍生出来的新系统,而要玩转Unix系统,无疑最根本的使用远程连接即SSH来用命令行直接控制你的iPhone,那么远程连接(SSH)究竟有什么用呢? ...

  4. linux通过SSH连接的SSH加密原理(笔记自用)

    为了理解SSH,先要介绍两个重要概念:对称加密和非对称加密. 对称加密 在对称加密中,客户端和服务端使用同一个密钥对数据进行加密和解密.这种方法的好处是加密强度高,很难破解. 缺点也很明显,即密钥本身 ...

  5. ping 出现(DUP)以及连接虚拟机ssh自动断开

    遇到的问题: 在虚拟机上ping内网或者外网都出现 lyh@ubuntu2:~$ ping 192.168.0.14 PING 192.168.0.14 (192.168.0.14) 56(84) b ...

  6. python3远程连接_Python3 SSH远程连接服务器的方法示例

    下载paramiko 首先,我的windows系统上有python2和python3.使用下面命令切换到python3: activate py3 接着使用下面命令下载相关模块: pip instal ...

  7. Linux的Xshell连接Centos7能Ping通但无法连接问题[ssh(d)+firewall(d)]【转载转载转载】

    一 方案与思路 0 xshell客户端监测是否能够ping通目标服务器. 前提:知晓目标服务器IP地址 Linux: ifconfig -a Windows: ipconfig -a 1 利用fire ...

  8. labview 远程连接linux,SSH交互式通信总结:expect、plink、putty、sshpass、ALAB SSH

    关于在linux脚本中远程执行命令的问题,笔者在以前文章中可以使用expect工具来完成交互式通信.在windows平台下可以使用plink或者putty工具.免密也可以设置SSH秘钥,参考文章-Li ...

  9. windows下客户端连接上马上会断开连接_Fix SSH客户端登录会话超时设置

    通常默认公有云上的ECS远程连接,很容易断开,当你有什么事情被打断或者去操作别的机器同步做点其他事情,你会发现你SSH客户端登录窗口经常会断开掉,非常烦人,经常要重新登录. 如果用一些Windows下 ...

  10. 虚拟机服务器拒绝密码,Xshell连接不上虚拟机连接提示SSH服务器拒绝了密码,请再试一次...

    问题1:Xshell连接不上虚拟机 #启动ssh服务 /etc/init.d/ssh start #查看SSH服务22端口是否开启 netstat -antulp | grep ssh 问题2:XSh ...

最新文章

  1. Git 最全命令总结都在这里了
  2. 【组队学习】【34期】阿里云天池在线编程训练营
  3. Android 控件学习--自定义SeekBar
  4. python 调试命令
  5. java读写注册表的两种方式,Preferences与jRegistry
  6. About Me Leo是谁
  7. 成都鸿蒙脱模剂厂家,现场体验荣耀智慧屏与鸿蒙OS,荣耀Life成都店与您共享锐科技...
  8. BPMN2.0--消息事件(message)
  9. stm32驱动LTC6912程控放大器程序,PGA可编程增益放大器,可调增益运放电路
  10. python集合的练习
  11. 如何使用Python numpy.where()方法
  12. StretchDIBits函数
  13. ruckus telnet java_ruckus常用配置方法.pdf
  14. 汇编c语言基础教程编程达人,编程达人 《汇编、C语言基础教程》第一章 进制1.6 逻辑运算(连载)...
  15. 设计模式-合成复用原则-》面向对象设计原则
  16. 十字光标太小怎么调节、CAD梦想画图算量技巧
  17. 华中科技大计算机考研相关信息
  18. 实战项目:设计实现一个流程编排框架(分析)
  19. 1688商品sku采集抓取实现方法
  20. 抛出异常和捕获异常_多捕获和最终重新抛出的异常处理

热门文章

  1. 因果推断系列15----双重差分法
  2. 重磅 | 银行数字化转型调研报告
  3. 《ZigBee开发笔记》第五部分 外设篇 - 基础实验 第6章 CC2530光敏和热敏传感器
  4. 希尔排序分析及代码实现
  5. 云存储,甩动数字时代的“牛鞭”
  6. ping工具的C语言简单实现 (ICMP echo)
  7. Android自定义照相机录制视频
  8. 实战Spring Boot构建多租户SaaS平台分享(含源代码)
  9. DD ENV 13381-3: 混凝土薄板CE认证
  10. 可以直接用于HTML中的特殊字符表 unicode字符集