作者MiaShopgirl (I'm not alone..)
看板java
标题[问题] 使用JSch开SSH後再telnet..
时间Fri Sep 9 17:33:31 2011
想透过ssh到A,再从A telnet到B,
目前用Jsch可以顺利到A上进行操作,
可是到了telent B的时候,键入帐号,
A很快的重复了一次我的帐号,然後连着问密码,
接着完全不给我机会,就说登入错误..
↓以下是在eclipse console里面显示的资讯
--
This computer resource is private property. Unauthorized access,
misuse, and misappropriation of resources is prohibited by law.
Last login: Fri Sep 9 09:11:55 GMT 2011 from x.x.x.x on pts/0
Last login: Fri Sep 9 09:12:34 2011 from x.x.x.x
userName@A:~$ telnet B.ip.address.x
telnet B.ip.address.x
Trying B.ip.address.x...
Connected to B.ip.address.x.
Escape character is '^]'.
VxWorks login: B's userName
B's userName
Password:
Login incorrect
VxWorks login:
--
用putty进行上述作业是正常的,
诡异的点在:
1.重复出现的帐号
2.不给机会输入的密码
google了几天,发现原来我并不孤单XD
http://goo.gl/qGbUh 两年前的悬案,
最後的回应(最上面一篇)不确定有没有看懂..(擦汗)
PortForwardingL应该是像跳板那样
开连到A的ssh,然後把local port转到A
但是目前用不到跳板,只要可以在ssh里面下telnet登入就成了
以下节录改写自Jsch的范例Shell.java
RF:
http://www.jcraft.com/jsch/examples/Shell.java
--
public class Shell{
public static void main(String[] arg){
try{
JSch jsch=new JSch();
//jsch.setKnownHosts("/home/foo/.ssh/known_hosts");
String host=null;
//given host a eternal value
host="sshUserName@A's IP";
/* if(arg.length>0){
host=arg[0];
}
else{
host=JOptionPane.showInputDialog("Enter username@hostname",
System.getProperty("user.name")+
"@localhost");
}*/
String user=host.substring(0, host.indexOf('@'));
host=host.substring(host.indexOf('@')+1);
Session session=jsch.getSession(user, host, 22);
//skip password pressing
session.setPassword("A's SSH password");
// username and password will be given via UserInfo interface.
/*UserInfo ui=new MyUserInfo();
session.setUserInfo(ui);*/
//skip checking HostKey
session.setConfig("StrictHostKeyChecking", "no");
//session.connect();
session.connect(30000); // making a connection with timeout.
Channel channel=session.openChannel("shell");
channel.setInputStream(System.in);
// a hack for MS-DOS prompt on Windows.
/* channel.setInputStream(new FilterInputStream(System.in){
public int read(byte[] b, int off, int len)throws IOException{
return in.read(b, off, (len>1024?1024:len));
}
});*/
channel.setOutputStream(System.out);
/*
// Choose the pty-type "vt102".
((ChannelShell)channel).setPtyType("vt102");
*/
/*
// Set environment variable "LANG" as "ja_JP.eucJP".
((ChannelShell)channel).setEnv("LANG", "ja_JP.eucJP");
*/
//channel.connect();
channel.connect(3*1000);
}
catch(Exception e){
System.out.println(e);
}
}
--
本想请B开个帐号/密码相同让我测试,但是被回绝了T_T
只好继续绞尽脑汁解开谜团...还望各位先进播空指点迷津
先祝各位先进中秋佳节愉快..Q_Q
1F:→ tkcn:另外找两台 server A', B' 也会有同样状况吗? 09/10 17:52
2F:→ MiaShopgirl:有很多组A+B的机器,但是每台的反应都一样..(sigh) 09/13 11:41
※ 编辑: MiaShopgirl 来自: 59.124.19.42 (09/14 11:26)