• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java InteractiveCallback类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.trilead.ssh2.InteractiveCallback的典型用法代码示例。如果您正苦于以下问题:Java InteractiveCallback类的具体用法?Java InteractiveCallback怎么用?Java InteractiveCallback使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



InteractiveCallback类属于com.trilead.ssh2包,在下文中一共展示了InteractiveCallback类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: authenticate

import com.trilead.ssh2.InteractiveCallback; //导入依赖的package包/类
public void authenticate(final Connection connection) throws AuthenticationException, SolveableAuthenticationException {
  final String password = myPasswordProvider.getPasswordForCvsRoot(myCvsRootAsString);
  if (password == null) {
    throw new SolveableAuthenticationException("Authentication rejected.");
  }
  try {
    final String[] methodsArr = connection.getRemainingAuthMethods(myLogin);
    if ((methodsArr == null) || (methodsArr.length == 0)) return;
    final List<String> methods = Arrays.asList(methodsArr);

    if (methods.contains(PASSWORD_METHOD)) {
      if (connection.authenticateWithPassword(myLogin, password)) return;
    }

    if (methods.contains(KEYBOARD_METHOD)) {
      final boolean wasAuthenticated = connection.authenticateWithKeyboardInteractive(myLogin, new InteractiveCallback() {
        public String[] replyToChallenge(String s, String instruction, int numPrompts, String[] strings, boolean[] booleans) throws Exception {
          final String[] result = new String[numPrompts];
          if (numPrompts > 0) {
            Arrays.fill(result, password);
          }
          return result;
        }
      });
      if (wasAuthenticated) return;       
    }

    throw new SolveableAuthenticationException("Authentication rejected.");
  }
  catch (IOException e) {
    throw new SolveableAuthenticationException(e.getMessage(), e);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:34,代码来源:SshPasswordAuthentication.java


示例2: connect

import com.trilead.ssh2.InteractiveCallback; //导入依赖的package包/类
public void connect(final String username, final String password) throws IOException {
    if (getIpAddress() == null) {
        throw new IllegalStateException("ipAddress is null");
    }
    this.connection = new Connection(getIpAddress(), getPort());
    this.connection.connect();
    log.info("connected: " + getIpAddress() + ":" + getPort());

    boolean isAuthenticated = false;
    switch (this.method) {
        case SSH2:
            isAuthenticated = connection.authenticateWithPassword(username, password);
            break;
        case SSH2_INTERACTIVE:
            InteractiveCallback cb = new SimpleInteractiveCallback(password);
            isAuthenticated = connection.authenticateWithKeyboardInteractive(username, cb);
            break;
        case SSH2_PUBLICKEY:
        default:
            throw new IllegalStateException("unsupported method: " + this.method.name());
    }
    if (isAuthenticated == false) {
        throw new IOException("Authentication failed.");
    }
    this.session = this.connection.openSession();

    if (isVt100()) {
        this.session.requestPTY("vt100");
    } else {
        this.session.requestDumbPTY();
    }

    this.session.startShell();

    this.input = new PushbackInputStream(new StreamGobbler(this.session.getStdout()));
    this.output = this.session.getStdin();

    new StreamGobbler(this.session.getStderr());

    log.info("login: " + getIpAddress() + ":" + getPort());
}
 
开发者ID:openNaEF,项目名称:openNaEF,代码行数:42,代码来源:RealSsh2Socket.java



注:本文中的com.trilead.ssh2.InteractiveCallback类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Utils4J类代码示例发布时间:2022-05-22
下一篇:
Java StringLocalResourceMapProto类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap