本文整理汇总了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;未经允许,请勿转载。 |
请发表评论