有人用过ganymed-ssh2-build210.jar包没有?如何利用session执行多条命令?如何调用工程里的shell脚本。 If you really want to mimic the behavior of putty,then don't use Session.execCommand(),instead aquire a pty(pseudo terminal)and then start a shell(use Session.requestPTY()and Session.startShell()).You then have to communicate with the shell process at the other end through stdin and stdout.However,you also have to implement terminal logic(e.g.,escape sequence handling(unless you use a\"dumb\"pty),\"expect-send\"logic(output parsing,shell prompt detection),etc.).我也遇到了这个问题,上面这段话应该能帮助你解决。sess.requestDumbPTY();sess.startShell();然后操作输入输出流。贴个我本地的测62616964757a686964616fe78988e69d8331333332633033试代码:public static void main(String[]args)throws Exception {String hostname=\"192.168.200.97;String username=\"applog;String password=\"xxxxxx;try{connect to linux server.Connection conn=new Connection(hostname);conn.connect();boolean isAuthenticated=conn.authenticateWithPassword(username,password);if。isAuthenticated){throw new Exception(\"not 。
在linux命令中登陆ssh服务的命令是? 在linux命令中登陆ssh服务的命令是ssh ip。例如:ssh 192.186.1.2之后需要输入账号和密码就可以登陆到linux服务器中了。62616964757a686964616fe59b9ee7ad9431333431356635ssh登陆linux服务器的默认端口是22,也就是ssh 192.186.1.2 22,22通常可以省去,如果设置了其他端口,则不能省略。扩展资料1、SSH连接原理ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。ssh服务端由2部分组成:openssh(提供ssh服务)openssl(提供加密的程序);ssh的客户端可以用 XSHELL,Securecrt,Mobaxterm等工具进行连接。2、SSH的工作机制服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址;确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。
java ganymed-ssh2,session 执行多条命令,最好可以在前一条的基础上,执行下一条。 通过session.requestDumbPTY()和2113session.startShell()来模拟命令行5261,在通过io流操作4102try {session=conn.openSession();session.requestDumbPTY();session.startShell();stdout=session.getStdout();stderr=session.getStderr();stdin=session.getStdin();} catch(IOException e){e.printStackTrace();}io流操作BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(stdin));bw.write(command+\"\\n\\r\");bw.flush();while(true){if((stdout.available()=0)&(stderr.available()=0)){int conditions=session.waitForCondition(ChannelCondition.STDOUT_DATA|ChannelCondition.STDERR_DATAChannelCondition.EOF,2000);if((conditions&ChannelCondition.EOF)。1653=0){if((conditions&(ChannelCondition.STDOUT_DATA|ChannelCondition.STDERR_DATA))=0){break;}}}BufferedReader br=new BufferedReader(new InputStreamReader(stdout));while(true){String answer=br.readLine();if(answer。null){Log.i(\"socket\",\"message call:\"+answer);} else {break;}}BufferedReader brErr=new BufferedReader(new InputStreamReader(stderr));。