本文整理汇总了Java中ch.ethz.ssh2.Session.getStdout方法的典型用法代码示例。如果您正苦于以下问题:Java Session.getStdout方法的具体用法?Java Session.getStdout怎么用?Java Session.getStdout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ch.ethz.ssh2.Session
的用法示例。
在下文中一共展示了Session.getStdout方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: startTest
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
@Override
public void startTest(){
Session session=null;
try {
getConnection();
if(connection==null)
throw new IOException("Unable to connect the server!");
session = connection.openSession();
session.execCommand(shellofstartTest);
System.out.println("Here is some information about the remote host:");
InputStream stderr = new StreamGobbler(session.getStderr());
BufferedReader br = new BufferedReader(new InputStreamReader(stderr));
InputStream stdout = new StreamGobbler(session.getStdout());
BufferedReader stdbr = new BufferedReader(new InputStreamReader(stdout));
System.out.println("Test had been started successfully!");
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}finally{
if(session != null)
session.close();
closeConnection();
}
}
示例2: exec
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
public String exec(String cmds) {
InputStream in = null;
String result = "";
try {
if (this.login()) {
Session session = conn.openSession();
session.execCommand(cmds);
in = session.getStdout();
result = this.processStdout(in, this.charset);
session.close();
conn.close();
}
} catch (IOException e1) {
e1.printStackTrace();
}
return result;
}
示例3: exec
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
public void exec(String command)
throws IOException{
// Sending command to server
if (verboseMode == true){
consoleStream.println(
"Executing" +
" " +
"'" +
command +
"'" +
".");
}
Session session = connection.openSession();
session.execCommand(command);
// Copying server stdout on local stdout
InputStream remoteStdout =
new StreamGobbler(session.getStdout());
BufferedReader remoteStdoutReader =
new BufferedReader(new InputStreamReader(remoteStdout));
String line;
while ((line = remoteStdoutReader.readLine()) != null){
consoleStream.println(line);
}
// Close session
session.close();
}
示例4: exeRemoteConsole
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
public static List<String> exeRemoteConsole(String hostname, String username, String password, String cmd) {
List<String> result = new ArrayList<String>();
//指明连接主机的IP地址
Connection conn = new Connection(hostname);
Session ssh = null;
try {
//连接到主机
conn.connect();
//使用用户名和密码校验
boolean isconn = conn.authenticateWithPassword(username, password);
if (!isconn) {
logger.error("用户名称或者是密码不正确");
} else {
logger.info("已经连接OK");
ssh = conn.openSession();
//使用多个命令用分号隔开
// ssh.execCommand("pwd;cd /tmp;mkdir shb;ls;ps -ef|grep weblogic");
ssh.execCommand(cmd);
//只允许使用一行命令,即ssh对象只能使用一次execCommand这个方法,多次使用则会出现异常
// ssh.execCommand("mkdir hb");
//将屏幕上的文字全部打印出来
InputStream is = new StreamGobbler(ssh.getStdout());
BufferedReader brs = new BufferedReader(new InputStreamReader(is));
for (String line = brs.readLine(); line != null; line = brs.readLine()) {
result.add(line);
}
}
//连接的Session和Connection对象都需要关闭
if (ssh != null) {
ssh.close();
}
conn.close();
} catch (IOException e) {
logger.error("", e);
}
return result;
}
示例5: exportDataBase
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
/**
* export database;
*/
public void exportDataBase() {
logger.info("start backup database");
String username = Config.getProperty("jdbc.username_dev");
String password = Config.getProperty("jdbc.password_dev");
String database = Config.getProperty("jdbc.database");
String host = Config.getProperty("jdbc.host_dev");
String os = System.getProperty("os.name");
String file_path = null;
// if (os.toLowerCase().startsWith("win")) { //根据系统类型
// file_path = System.getProperty("user.dir") + "\\sql\\";
// } else {
// file_path = System.getProperty("user.dir") + "/sql/";//保存的路径
// }
file_path = System.getProperty("myblog.path") + "sql";
String file_name = "/myblog" + DateTime.now().toString("yyyyMMddHHmmss") + ".sql";
String file = file_path + file_name;
logger.info("file_path and file_name: " + file);
//server
String s_host = Config.getProperty("server.host");
Integer s_port = Config.getIntProperty("server.port");
String s_username = Config.getProperty("server.username");
String s_password = Config.getProperty("server.password");
try {
StringBuffer sb = new StringBuffer();
sb.append("mysqldump -u " + username + " -p" + password + " -h " + host + " " +
database + " >" + file);
String sql = sb.toString();
logger.info(sql);
//connect to server
Connection connection = new Connection(s_host, s_port);
connection.connect();
boolean isAuth = connection.authenticateWithPassword(s_username, s_password);
if (!isAuth) {
logger.error("server login error");
}
Session session = connection.openSession();
session.execCommand(sql);
InputStream stdout = new StreamGobbler(session.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true) {
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
session.close();
connection.close();
stdout.close();
br.close();
logger.info("backup finish");
logger.info(sb.toString());
} catch (Exception e) {
logger.error("error", e);
}
}
示例6: doCommond
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
/**
* 远程执行命令
* @param ip
* @param user
* @param pwd
* @param cmd
* @return
*/
public static String doCommond(Connection conn,String cmd){
String result = "";
try {
if(conn==null){
System.out.println("请先链接服务器");
}else{
Session sess = conn.openSession();
sess.execCommand(cmd);
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));
while(true){
String line = stdoutReader.readLine();
if (line == null)
break;
result+=line+StaticKeys.SPLIT_BR;
}
//连接的Session和Connection对象都需要关闭
stdoutReader.close();
sess.close();
}
} catch (IOException e) {
System.out.println("执行linux命令错误:"+e.toString());
}
if(result.endsWith(StaticKeys.SPLIT_BR)){
result = result.substring(0, result.length()-StaticKeys.SPLIT_BR.length());
}
if(!StringUtils.isEmpty(result)){
if(cmd.contains("DEV")||cmd.contains("iostat")){
if(result.contains("</br></br>")){
result = result.substring(result.lastIndexOf("</br></br>")+10);
}
}
if(cmd.contains("mpstat")){
if(result.contains("</br></br>")){
result = result.substring(result.lastIndexOf("</br></br>")+10);
int s = result.indexOf("</br>")+5;
s = result.indexOf("</br>",s);
result = result.substring(0,s);
}
}
}
return result;
}
示例7: main
import ch.ethz.ssh2.Session; //导入方法依赖的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);
}
}
示例8: main
import ch.ethz.ssh2.Session; //导入方法依赖的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);
}
}
示例9: sendBytes
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
private void sendBytes(Session sess, byte[] data, String fileName, String mode) throws IOException {
OutputStream os = sess.getStdin();
InputStream is = new BufferedInputStream(sess.getStdout(), 512);
readResponse(is);
String cline = "C" + mode + " " + data.length + " " + fileName + "\n";
os.write(cline.getBytes());
os.flush();
readResponse(is);
os.write(data, 0, data.length);
os.write(0);
os.flush();
readResponse(is);
os.write("E\n".getBytes());
os.flush();
}
示例10: sendFiles
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
private void sendFiles(Session sess, String[] files, String mode) throws IOException {
byte[] buffer = new byte[8192];
OutputStream os = new BufferedOutputStream(sess.getStdin(), 40000);
InputStream is = new BufferedInputStream(sess.getStdout(), 512);
readResponse(is);
for (int i = 0; i < files.length; i++) {
File f = new File(files[i]);
long remain = f.length();
String cline = "C" + mode + " " + remain + " " + f.getName() + "\n";
os.write(cline.getBytes());
os.flush();
readResponse(is);
FileInputStream fis = null;
try {
fis = new FileInputStream(f);
while (remain > 0) {
int trans;
if (remain > buffer.length)
trans = buffer.length;
else
trans = (int) remain;
if (fis.read(buffer, 0, trans) != trans)
throw new IOException("Cannot read enough from local file " + files[i]);
os.write(buffer, 0, trans);
remain -= trans;
}
fis.close();
} catch (IOException e) {
if (fis != null) {
fis.close();
}
throw (e);
}
os.write(0);
os.flush();
readResponse(is);
}
os.write("E\n".getBytes());
os.flush();
}
示例11: receiveFiles
import ch.ethz.ssh2.Session; //导入方法依赖的package包/类
private void receiveFiles(Session sess, String[] files, String target) throws IOException {
byte[] buffer = new byte[8192];
OutputStream os = new BufferedOutputStream(sess.getStdin(), 512);
InputStream is = new BufferedInputStream(sess.getStdout(), 40000);
os.write(0x0);
os.flush();
for (int i = 0; i < files.length; i++) {
LenNamePair lnp = null;
while (true) {
int c = is.read();
if (c < 0)
throw new IOException("Remote scp terminated unexpectedly.");
String line = receiveLine(is);
if (c == 'P') {
/* Ignore modification times */
continue;
}
if ((c == 1) || (c == 2))
throw new IOException("Remote SCP error: " + line);
if (c == 'C') {
lnp = parseCLine(line);
break;
}
throw new IOException("Remote SCP error: " + ((char) c) + line);
}
os.write(0x0);
os.flush();
File f = new File(target + File.separatorChar + lnp.filename);
FileOutputStream fop = null;
try {
fop = new FileOutputStream(f);
long remain = lnp.length;
while (remain > 0) {
int trans;
if (remain > buffer.length)
trans = buffer.length;
else
trans = (int) remain;
int this_time_received = is.read(buffer, 0, trans);
if (this_time_received < 0) {
throw new IOException("Remote scp terminated connection unexpectedly");
}
fop.write(buffer, 0, this_time_received);
remain -= this_time_received;
}
fop.close();
} catch (IOException e) {
if (fop != null)
fop.close();
throw (e);
}
readResponse(is);
os.write(0x0);
os.flush();
}
}
示例12: main
import ch.ethz.ssh2.Session; //导入方法依赖的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 ch.ethz.ssh2.Session; //导入方法依赖的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);
}
}