本文整理汇总了Java中com.trilead.ssh2.StreamGobbler类的典型用法代码示例。如果您正苦于以下问题:Java StreamGobbler类的具体用法?Java StreamGobbler怎么用?Java StreamGobbler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
StreamGobbler类属于com.trilead.ssh2包,在下文中一共展示了StreamGobbler类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getLogContent
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
@Override
public String getLogContent(String filename) throws RemoteException {
StringBuilder sb=new StringBuilder();
try {
Session session=this.conn.openSession();
session.execCommand("cat "+this.home+"/logs/"+filename);
InputStream stdout=new StreamGobbler(session.getStdout());
BufferedReader br=new BufferedReader(new InputStreamReader(stdout));
String line=null;
while((line=br.readLine())!=null){
sb.append(line);
sb.append("\n");
}
br.close();
session.close();
} catch (IOException e) {
throw new RemoteException(e);
}
return sb.toString();
}
示例2: connect
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public void connect(String userName, String password) throws Exception {
this.connection = new Connection(ip);
this.connection.connect();
log.info("connected: " + ip + ":22");
boolean isAuthenticated = connection.authenticateWithPassword(userName, password);
if (isAuthenticated == false) {
throw new IOException("Authentication failed.");
}
this.session = this.connection.openSession();
this.session.startSubSystem("xmlagent");
BufferedReader _reader = new BufferedReader(new InputStreamReader(this.session.getStdout()));
this.reader = new WrapperReader(_reader);
this.stdin = this.session.getStdin();
this.writer = new BufferedWriter(new OutputStreamWriter(this.stdin));
new StreamGobbler(this.session.getStderr());
log.info("login: " + ip + ":22");
log.info("server-hello: " + reader.readAll());
}
示例3: setup
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
private void setup() throws IOException {
String userName = this.node.getUserAccount();
String password = this.node.getUserPassword();
ProtocolPort pp = this.node.getProtocolPort(Protocol.SSH2);
int port;
if (pp == null) {
port = 22;
} else {
port = pp.getPort();
}
log.info("connecting: " + ipAddress + ":" + port);
this.connection = new Connection(ipAddress, port);
this.connection.connect();
log.info("connected: " + ipAddress + ":" + port);
boolean isAuthenticated = connection.authenticateWithPassword(userName, password);
if (isAuthenticated == false) {
throw new IOException("Authentication failed.");
}
this.session = this.connection.openSession();
this.session.startSubSystem("xmlagent");
BufferedReader _reader = new BufferedReader(new InputStreamReader(this.session.getStdout()));
this.reader = new WrapperReader(_reader);
this.stdin = this.session.getStdin();
this.writer = new BufferedWriter(new OutputStreamWriter(this.stdin));
new StreamGobbler(this.session.getStderr());
log.info("login: " + ipAddress + ":" + port);
log.info("server-hello: " + reader.readAll());
}
示例4: open
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public void open(IStreamLogger streamLogger) throws AuthenticationException {
SshLogger.debug("opening session");
mySession = mySessionProvider.compute();
// wrapper created, inspection is inapplicable
//noinspection IOResourceOpenedButNotSafelyClosed
myInputStream = new MyInputStreamWrapper(myActivityMonitor, mySession.getStdout());
// wrapper created, inspection is inapplicable
//noinspection IOResourceOpenedButNotSafelyClosed
myOutputStream = new MyOutputStreamWrapper(myActivityMonitor, mySession.getStdin());
myErrorStreamGobbler = new StreamGobbler(mySession.getStderr());
myState = LifeStages.CREATED;
}
示例5: open
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public void open(IStreamLogger streamLogger) throws AuthenticationException {
try {
myConnection = SshConnectionUtils.openConnection(myConnectionSettings, myAuthentication);
mySession = myConnection.openSession();
mySession.execCommand("cvs server");
new StreamGobbler(mySession.getStderr());
}
catch (IOException e) {
throw new AuthenticationException(e.getMessage(), e);
}
}
示例6: communicate
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public static CommunicateResult communicate(Connection connection, Duration timeout, String... command) throws IOException {
checkNotNull(connection);
checkNotNull(timeout);
checkNotNull(command);
String commandString = quoteCommand(asList(command));
Session session = connection.openSession();
try {
session.execCommand(commandString);
StreamGobbler stderr = new StreamGobbler(session.getStderr());
StreamGobbler stdout = new StreamGobbler(session.getStdout());
try {
session.waitForCondition(ChannelCondition.EXIT_STATUS, timeout.getMillis());
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
return new CommunicateResult(
commandString,
readAll(stdout, Charsets.UTF_8),
readAll(stderr, Charsets.UTF_8),
firstNonNull(session.getExitStatus(), -1000)
);
} finally {
session.close();
}
}
示例7: getLogFileNames
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
@Override
public List<LogProfile> getLogFileNames() throws RemoteException {
List<LogProfile> logs=new LinkedList<LogProfile>();
try {
Session session=this.conn.openSession();
String cmd="ls -l "+this.home+"/logs";
session.execCommand(cmd);
InputStream stdout=new StreamGobbler(session.getStdout());
BufferedReader br=new BufferedReader(new InputStreamReader(stdout));
String line=br.readLine();
while(true){
line=br.readLine();
if(line==null){
break;
}
String[] attrs=line.split("[ ]+");
if(!attrs[7].endsWith(".log")){
continue;
}
LogProfile log=new LogProfile();
log.setName(attrs[7]);
log.setOwner(attrs[2]);
log.setGroup(attrs[3]);
log.setSize(Long.parseLong(attrs[4]));
logs.add(log);
}
br.close();
session.close();
} catch (IOException e) {
throw new RemoteException(e);
}
return logs;
}
示例8: execCommand
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
/**
* Log in the remote host by ssh2 and execute the specified command.
*
* @param cmd
* the command will be executed list the result information
* printed in the terminal after executing the "cmd" if there
* are. errorList the error information printed in the terminal
* after executing the "cmd" if there are.
* @throws RemoteException
*
* */
public void execCommand(Connection conn, String cmd,
ArrayList<String> list, ArrayList<String> errorList) throws RemoteException {
try {
/* Create a session */
Session sess = conn.openSession();
sess.execCommand(cmd);
/*
* get the printed information of stdout and stderr.
*/
InputStream stdout = new StreamGobbler(sess.getStdout());
br = new BufferedReader(new InputStreamReader(stdout));
InputStream stderr = new StreamGobbler(sess.getStderr());
errorbr = new BufferedReader(new InputStreamReader(stderr));
while (true) {
line = br.readLine();
if (line == null)
break;
list.add(line);
}
while (true) {
errorline = errorbr.readLine();
if (errorline == null)
break;
errorList.add(errorline);
}
/* Close this session */
sess.close();
} catch (IOException e) {
throw new RemoteException(e.getMessage());
}
}
示例9: connect
import com.trilead.ssh2.StreamGobbler; //导入依赖的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());
}
示例10: main
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public static void main(String[] args)
{
String hostname = "127.0.0.1";
String username = "joe";
String password = "joespass";
try
{
/* Create a connection instance */
Connection conn = new Connection(hostname);
/* Now connect */
conn.connect();
/* Authenticate.
* If you get an IOException saying something like
* "Authentication method password not supported by the server at this stage."
* then please check the FAQ.
*/
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
/* Create a session */
Session sess = conn.openSession();
sess.execCommand("uname -a && date && uptime && who");
System.out.println("Here is some information about the remote host:");
/*
* This basic example does not handle stderr, which is sometimes dangerous
* (please read the FAQ).
*/
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
/* Show exit status, if available (otherwise "null") */
System.out.println("ExitCode: " + sess.getExitStatus());
/* Close this session */
sess.close();
/* Close the connection */
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}
示例11: main
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public static void main(String[] args)
{
String hostname = "my-ssh-server";
String username = "joe";
String password = "joespass";
String proxyHost = "192.168.1.1";
int proxyPort = 3128; // default port used by squid
try
{
/* Create a connection instance */
Connection conn = new Connection(hostname);
/* We want to connect through a HTTP proxy */
conn.setProxyData(new HTTPProxyData(proxyHost, proxyPort));
// if the proxy requires basic authentication:
// conn.setProxyData(new HTTPProxyData(proxyHost, proxyPort, "username", "secret"));
/* Now connect (through the proxy) */
conn.connect();
/* Authenticate.
* If you get an IOException saying something like
* "Authentication method password not supported by the server at this stage."
* then please check the FAQ.
*/
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
/* Create a session */
Session sess = conn.openSession();
sess.execCommand("uname -a && date && uptime && who");
System.out.println("Here is some information about the remote host:");
/*
* This basic example does not handle stderr, which is sometimes dangerous
* (please read the FAQ).
*/
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
/* Show exit status, if available (otherwise "null") */
System.out.println("ExitCode: " + sess.getExitStatus());
/* Close this session */
sess.close();
/* Close the connection */
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}
示例12: main
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public static void main(String[] args)
{
String hostname = "127.0.0.1";
String username = "joe";
File keyfile = new File("~/.ssh/id_rsa"); // or "~/.ssh/id_dsa"
String keyfilePass = "joespass"; // will be ignored if not needed
try
{
/* Create a connection instance */
Connection conn = new Connection(hostname);
/* Now connect */
conn.connect();
/* Authenticate */
boolean isAuthenticated = conn.authenticateWithPublicKey(username, keyfile, keyfilePass);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
/* Create a session */
Session sess = conn.openSession();
sess.execCommand("uname -a && date && uptime && who");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
System.out.println("Here is some information about the remote host:");
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
/* Close this session */
sess.close();
/* Close the connection */
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}
示例13: main
import com.trilead.ssh2.StreamGobbler; //导入依赖的package包/类
public static void main(String[] args) throws IOException
{
String hostname = "somehost";
String username = "joe";
String password = "joespass";
File knownHosts = new File("~/.ssh/known_hosts");
try
{
/* Load known_hosts file into in-memory database */
if (knownHosts.exists())
database.addHostkeys(knownHosts);
/* Create a connection instance */
Connection conn = new Connection(hostname);
/* Now connect and use the SimpleVerifier */
conn.connect(new SimpleVerifier(database));
/* Authenticate */
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
/* Create a session */
Session sess = conn.openSession();
sess.execCommand("uname -a && date && uptime && who");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
System.out.println("Here is some information about the remote host:");
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
/* Close this session */
sess.close();
/* Close the connection */
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}