本文整理匯總了C#中Tamir.SharpSsh.jsch.Session.write方法的典型用法代碼示例。如果您正苦於以下問題:C# Session.write方法的具體用法?C# Session.write怎麽用?C# Session.write使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Tamir.SharpSsh.jsch.Session
的用法示例。
在下文中一共展示了Session.write方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: request
public void request(Session session, Channel channel)
{
Buffer buf=new Buffer();
Packet packet=new Packet(buf);
bool reply=waitForReply();
if(reply)
{
channel.reply=-1;
}
packet.reset();
buf.putByte((byte)Session.SSH_MSG_CHANNEL_REQUEST);
buf.putInt(channel.getRecipient());
buf.putString(Util.getBytes("subsystem"));
buf.putByte((byte)(waitForReply() ? 1 : 0));
buf.putString(Util.getBytes("sftp"));
session.write(packet);
if(reply)
{
while(channel.reply==-1)
{
try{System.Threading.Thread.Sleep(10);}
catch//(Exception ee)
{
}
}
if(channel.reply==0)
{
throw new JSchException("failed to send sftp request");
}
}
}
示例2: request
public void request(Session session, Channel channel)
{
Buffer buf=new Buffer();
Packet packet=new Packet(buf);
packet.reset();
buf.putByte((byte) Session.SSH_MSG_CHANNEL_REQUEST);
buf.putInt(channel.getRecipient());
buf.putString( Util.getBytes("signal"));
buf.putByte((byte)(waitForReply() ? 1 : 0));
buf.putString(Util.getBytes(signal));
session.write(packet);
}
示例3: request
public void request(Session session, Channel channel)
{
Buffer buf=new Buffer();
Packet packet=new Packet(buf);
// send
// byte SSH_MSG_CHANNEL_REQUEST(98)
// uint32 recipient channel
// string request type // "shell"
// boolean want reply // 0
packet.reset();
buf.putByte((byte) Session.SSH_MSG_CHANNEL_REQUEST);
buf.putInt(channel.getRecipient());
buf.putString(Util.getBytes("shell"));
buf.putByte((byte)(waitForReply() ? 1 : 0));
session.write(packet);
}
示例4: request
public void request(Session session, Channel channel)
{
Buffer buf=new Buffer();
Packet packet=new Packet(buf);
packet.reset();
buf.WriteByte((byte) Session.SSH_MSG_CHANNEL_REQUEST);
buf.WriteInt(channel.getRecipient());
buf.WriteString(Util.getBytes("pty-req"));
buf.WriteByte((byte)(waitForReply() ? 1 : 0));
buf.WriteString(Util.getBytes("vt100"));
buf.WriteInt(80);
buf.WriteInt(24);
buf.WriteInt(640);
buf.WriteInt(480);
buf.WriteString(Util.getBytes(""));
session.write(packet);
}
示例5: request
public void request(Session session, Channel channel)
{
Packet packet=session.packet;
Buffer buf=session.buf;
// send
// byte SSH_MSG_CHANNEL_REQUEST(98)
// uint32 recipient channel
// string request type // "exec"
// boolean want reply // 0
// string command
packet.reset();
buf.putByte((byte) Session.SSH_MSG_CHANNEL_REQUEST);
buf.putInt(channel.getRecipient());
buf.putString(new Str("exec").getBytes());
buf.putByte((byte)(waitForReply() ? 1 : 0));
buf.putString(new Str(command).getBytes());
session.write(packet);
}
示例6: start
public virtual bool start(Session session)
{
Packet packet=session.packet;
Buffer buf=session.buf;
// send
// byte SSH_MSG_SERVICE_REQUEST(5)
// string service name "ssh-userauth"
packet.reset();
buf.putByte((byte)Session.SSH_MSG_SERVICE_REQUEST);
buf.putString(Util.getBytes("ssh-userauth"));
session.write(packet);
// receive
// byte SSH_MSG_SERVICE_ACCEPT(6)
// string service name
buf=session.read(buf);
//System.out.println("read: 6 ? "+buf.buffer[5]);
return buf.buffer[5]==6;
}
示例7: request
public void request(Session session, Channel channel)
{
Buffer buf=new Buffer();
Packet packet=new Packet(buf);
// byte SSH_MSG_CHANNEL_REQUEST(98)
// uint32 recipient channel
// string request type // "x11-req"
// boolean want reply // 0
// boolean single connection
// string x11 authentication protocol // "MIT-MAGIC-COOKIE-1".
// string x11 authentication cookie
// uint32 x11 screen number
packet.reset();
buf.WriteByte((byte) Session.SSH_MSG_CHANNEL_REQUEST);
buf.WriteInt(channel.getRecipient());
buf.WriteString(Util.getBytes("x11-req"));
buf.WriteByte((byte)(waitForReply() ? 1 : 0));
buf.WriteByte((byte)0);
buf.WriteString(Util.getBytes("MIT-MAGIC-COOKIE-1"));
buf.WriteString(ChannelX11.getFakedCookie(session));
buf.WriteInt(0);
session.write(packet);
}
示例8: request
public void request(Session session, Channel channel)
{
Buffer buf=new Buffer();
Packet packet=new Packet(buf);
//byte SSH_MSG_CHANNEL_REQUEST
//uint32 recipient_channel
//string "window-change"
//boolean FALSE
//uint32 terminal width, columns
//uint32 terminal height, rows
//uint32 terminal width, pixels
//uint32 terminal height, pixels
packet.reset();
buf.WriteByte((byte) Session.SSH_MSG_CHANNEL_REQUEST);
buf.WriteInt(channel.getRecipient());
buf.WriteString(Util.getBytes("window-change"));
buf.WriteByte((byte)(waitForReply() ? 1 : 0));
buf.WriteInt(width_columns);
buf.WriteInt(height_rows);
buf.WriteInt(width_pixels);
buf.WriteInt(height_pixels);
session.write(packet);
}
示例9: init
public override void init(Session session,
byte[] V_S, byte[] V_C, byte[] I_S, byte[] I_C)
{
this.session=session;
this.V_S=V_S;
this.V_C=V_C;
this.I_S=I_S;
this.I_C=I_C;
// sha=new SHA1();
// sha.init();
try
{
Type t=Type.GetType(session.getConfig("sha-1"));
sha=(HASH)(Activator.CreateInstance(t));
sha.init();
}
catch(Exception ee)
{
Console.WriteLine(ee);
}
buf=new Buffer();
packet=new Packet(buf);
try
{
Type t=Type.GetType(session.getConfig("dh"));
dh=(DH)(Activator.CreateInstance(t));
dh.init();
}
catch(Exception ee)
{
throw ee;
}
dh.setP(p);
dh.setG(g);
// The client responds with:
// byte SSH_MSG_KEXDH_INIT(30)
// mpint e <- g^x mod p
// x is a random number (1 < x < (p-1)/2)
e=dh.getE();
packet.reset();
buf.putByte((byte)SSH_MSG_KEXDH_INIT);
buf.putMPInt(e);
session.write(packet);
state=SSH_MSG_KEXDH_REPLY;
}
示例10: init
//private byte[] f;
public override void init(Session session,
byte[] V_S, byte[] V_C, byte[] I_S, byte[] I_C)
{
this.session = session;
this.V_S = V_S;
this.V_C = V_C;
this.I_S = I_S;
this.I_C = I_C;
// sha=new SHA1();
// sha.init();
try
{
Type t = Type.GetType(session.getConfig("sha-1"));
sha = (HASH) (Activator.CreateInstance(t));
sha.init();
}
catch (Exception e)
{
Console.WriteLine(e);
}
buf = new Buffer();
packet = new Packet(buf);
try
{
Type t = Type.GetType(session.getConfig("dh"));
dh = (DH) (Activator.CreateInstance(t));
dh.init();
}
catch (Exception e)
{
throw e;
}
packet.reset();
buf.putByte(0x22);
buf.putInt(min);
buf.putInt(preferred);
buf.putInt(max);
session.write(packet);
state = SSH_MSG_KEX_DH_GEX_GROUP;
}
示例11: start
public override bool start(Session session)
{
base.start(session);
//System.out.println("UserAuthNone: start");
Packet packet=session.packet;
Buffer buf=session.buf;
String username=session.username;
byte[] _username=null;
try{ _username=Util.getBytesUTF8(username); }
catch
{//(java.io.UnsupportedEncodingException e){
_username=Util.getBytes(username);
}
// send
// byte SSH_MSG_USERAUTH_REQUEST(50)
// string user name
// string service name ("ssh-connection")
// string "none"
packet.reset();
buf.putByte((byte)Session.SSH_MSG_USERAUTH_REQUEST);
buf.putString(_username);
buf.putString(Util.getBytes("ssh-connection"));
buf.putString(Util.getBytes("none"));
session.write(packet);
loop:
while(true)
{
// receive
// byte SSH_MSG_USERAUTH_SUCCESS(52)
// string service name
buf=session.read(buf);
//System.out.println("UserAuthNone: read: 52 ? "+ buf.buffer[5]);
if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_SUCCESS)
{
return true;
}
if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_BANNER)
{
buf.getInt(); buf.getByte(); buf.getByte();
byte[] _message=buf.getString();
byte[] lang=buf.getString();
String message=null;
try{ message=Util.getStringUTF8(_message); }
catch
{//(java.io.UnsupportedEncodingException e){
message=Util.getString(_message);
}
if(userinfo!=null)
{
userinfo.showMessage(message);
}
goto loop;
}
if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_FAILURE)
{
buf.getInt(); buf.getByte(); buf.getByte();
byte[] foo=buf.getString();
int partial_success=buf.getByte();
methods=Util.getString(foo);
//System.out.println("UserAuthNONE: "+methods+
// " partial_success:"+(partial_success!=0));
// if(partial_success!=0){
// throw new JSchPartialAuthException(new String(foo));
// }
break;
}
else
{
// System.out.println("USERAUTH fail ("+buf.buffer[5]+")");
throw new JSchException("USERAUTH fail ("+buf.buffer[5]+")");
}
}
//throw new JSchException("USERAUTH fail");
return false;
}
示例12: start
public override bool start(Session session)
{
//super.start(session);
//Vector identities=JSch.identities;
System.Collections.ArrayList identities=session.jsch.identities;
Packet packet=session.packet;
Buffer buf=session.buf;
String passphrase=null;
String username=session.username;
byte[] _username=null;
try{ _username= Util.getBytesUTF8( username); }
catch
{//(java.io.UnsupportedEncodingException e){
_username=Util.getBytes(username);
}
for(int i=0; i<identities.Count; i++)
{
Identity identity=(Identity)(identities[i]);
byte[] pubkeyblob=identity.getPublicKeyBlob();
//System.out.println("UserAuthPublicKey: "+identity+" "+pubkeyblob);
if(pubkeyblob!=null)
{
// send
// byte SSH_MSG_USERAUTH_REQUEST(50)
// string user name
// string service name ("ssh-connection")
// string "publickey"
// boolen FALSE
// string plaintext password (ISO-10646 UTF-8)
packet.reset();
buf.WriteByte((byte)Session.SSH_MSG_USERAUTH_REQUEST);
buf.WriteString(_username);
buf.WriteString(Util.getBytes("ssh-connection"));
buf.WriteString(Util.getBytes("publickey"));
buf.WriteByte((byte)0);
buf.WriteString(Util.getBytes(identity.getAlgName()));
buf.WriteString(pubkeyblob);
session.write(packet);
loop1:
while(true)
{
// receive
// byte SSH_MSG_USERAUTH_PK_OK(52)
// string service name
buf=session.read(buf);
//System.out.println("read: 60 ? "+ buf.buffer[5]);
if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_PK_OK)
{
break;
}
else if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_FAILURE)
{
// System.out.println("USERAUTH publickey "+session.getIdentity()+
// " is not acceptable.");
break;
}
else if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_BANNER)
{
buf.ReadInt(); buf.ReadByte(); buf.ReadByte();
byte[] _message=buf.ReadString();
byte[] lang=buf.ReadString();
String message=null;
try{ message=Util.getStringUTF8(_message); }
catch
{//(java.io.UnsupportedEncodingException e){
message=Util.getString(_message);
}
if(userinfo!=null)
{
userinfo.showMessage(message);
}
goto loop1;
}
else
{
//System.out.println("USERAUTH fail ("+buf.buffer[5]+")");
//throw new JSchException("USERAUTH fail ("+buf.buffer[5]+")");
break;
}
}
if(buf.buffer[5]!=Session.SSH_MSG_USERAUTH_PK_OK)
{
continue;
}
}
//System.out.println("UserAuthPublicKey: identity.isEncrypted()="+identity.isEncrypted());
int count=5;
while(true)
{
if((identity.isEncrypted() && passphrase==null))
//.........這裏部分代碼省略.........
示例13: delPort
internal static void delPort(Session session, int rport)
{
lock(pool)
{
Object[] foo=null;
for(int i=0; i<pool.size(); i++)
{
Object[] bar=(Object[])(pool.elementAt(i));
if(bar[0]!=session) continue;
if(((Integer)bar[1]).intValue()!=rport) continue;
foo=bar;
break;
}
if(foo==null)return;
pool.removeElement(foo);
}
Buffer buf=new Buffer(100); // ??
Packet packet=new Packet(buf);
try
{
// byte SSH_MSG_GLOBAL_REQUEST 80
// string "cancel-tcpip-forward"
// boolean want_reply
// string address_to_bind (e.g. "127.0.0.1")
// uint32 port number to bind
packet.reset();
buf.putByte((byte) 80/*SSH_MSG_GLOBAL_REQUEST*/);
buf.putString(new Str("cancel-tcpip-forward").getBytes());
buf.putByte((byte)0);
buf.putString(new Str("0.0.0.0").getBytes());
buf.putInt(rport);
session.write(packet);
}
catch(Exception e)
{
// throw new JSchException(e.toString());
}
}
示例14: start
public override bool start(Session session) {
// super.start(session);
//System.out.println("UserAuthPassword: start");
Packet packet=session.packet;
Buffer buf=session.buf;
String username=session.username;
String password=session.password;
String dest=username+"@"+session.host;
if(session.port!=22){
dest+=(":"+session.port);
}
while(true){
if(password==null){
if(userinfo==null){
//throw new JSchException("USERAUTH fail");
return false;
}
if(!userinfo.promptPassword("Password for "+dest)){
throw new JSchAuthCancelException("password");
//break;
}
password=userinfo.getPassword();
if(password==null){
throw new JSchAuthCancelException("password");
//break;
}
}
byte[] _username=null;
try{ _username=Util.getBytesUTF8(username); }
catch{//(java.io.UnsupportedEncodingException e){
_username=Util.getBytes(username);
}
byte[] _password=null;
try{ _password=Util.getBytesUTF8(password); }
catch{//(java.io.UnsupportedEncodingException e){
_password=Util.getBytes(password);
}
// send
// byte SSH_MSG_USERAUTH_REQUEST(50)
// string user name
// string service name ("ssh-connection")
// string "password"
// boolen FALSE
// string plaintext password (ISO-10646 UTF-8)
packet.reset();
buf.putByte((byte)Session.SSH_MSG_USERAUTH_REQUEST);
buf.putString(_username);
buf.putString(Util.getBytes("ssh-connection"));
buf.putString(Util.getBytes("password"));
buf.putByte((byte)0);
buf.putString(_password);
session.write(packet);
loop:
while(true){
// receive
// byte SSH_MSG_USERAUTH_SUCCESS(52)
// string service name
buf=session.read(buf);
//System.out.println("read: 52 ? "+ buf.buffer[5]);
if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_SUCCESS){
return true;
}
if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_BANNER){
buf.getInt(); buf.getByte(); buf.getByte();
byte[] _message=buf.getString();
byte[] lang=buf.getString();
String message=null;
try{ message=Util.getStringUTF8(_message); }
catch{//(java.io.UnsupportedEncodingException e){
message=Util.getString(_message);
}
if(userinfo!=null){
userinfo.showMessage(message);
}
goto loop;
}
if(buf.buffer[5]==Session.SSH_MSG_USERAUTH_FAILURE){
buf.getInt(); buf.getByte(); buf.getByte();
byte[] foo=buf.getString();
int partial_success=buf.getByte();
//System.out.println(new String(foo)+
// " partial_success:"+(partial_success!=0));
if(partial_success!=0){
throw new JSchPartialAuthException(Util.getString(foo));
}
break;
}
else{
// System.out.println("USERAUTH fail ("+buf.buffer[5]+")");
// throw new JSchException("USERAUTH fail ("+buf.buffer[5]+")");
return false;
}
}
password=null;
}
//.........這裏部分代碼省略.........
示例15: start
public override bool start(Session session)
{
//System.out.println("UserAuthKeyboardInteractive: start");
Packet packet = session.packet;
Buffer buf = session.buf;
String username = session.username;
String dest = username + "@" + session.host;
if (session.port != 22)
{
dest += (":" + session.port);
}
bool cancel = false;
byte[] _username = null;
try
{
_username = Encoding.UTF8.GetBytes(username);
}
catch
{
_username = Util.getBytes(username);
}
while (true)
{
// send
// byte SSH_MSG_USERAUTH_REQUEST(50)
// string user name (ISO-10646 UTF-8, as defined in [RFC-2279])
// string service name (US-ASCII) "ssh-userauth" ? "ssh-connection"
// string "keyboard-interactive" (US-ASCII)
// string language tag (as defined in [RFC-3066])
// string submethods (ISO-10646 UTF-8)
packet.reset();
buf.putByte((byte) Session.SSH_MSG_USERAUTH_REQUEST);
buf.putString(_username);
buf.putString(Util.getBytes("ssh-connection"));
//buf.putString("ssh-userauth".getBytes());
buf.putString(Util.getBytes("keyboard-interactive"));
buf.putString(Util.getBytes(""));
buf.putString(Util.getBytes(""));
session.write(packet);
bool firsttime = true;
loop:
while (true)
{
// receive
// byte SSH_MSG_USERAUTH_SUCCESS(52)
// string service name
try
{
buf = session.read(buf);
}
catch (JSchException e)
{
e.GetType();
return false;
}
catch (IOException e)
{
e.GetType();
return false;
}
//System.out.println("read: 52 ? "+ buf.buffer[5]);
if (buf.buffer[5] == Session.SSH_MSG_USERAUTH_SUCCESS)
{
return true;
}
if (buf.buffer[5] == Session.SSH_MSG_USERAUTH_BANNER)
{
buf.getInt();
buf.getByte();
buf.getByte();
byte[] _message = buf.getString();
byte[] lang = buf.getString();
String message = null;
try
{
message = Util.getStringUTF8(_message);
}
catch
{
message = Util.getString(_message);
}
if (userinfo != null)
{
userinfo.showMessage(message);
}
goto loop;
}
if (buf.buffer[5] == Session.SSH_MSG_USERAUTH_FAILURE)
{
buf.getInt();
buf.getByte();
buf.getByte();
byte[] foo = buf.getString();
int partial_success = buf.getByte();
// System.out.println(new String(foo)+
// " partial_success:"+(partial_success!=0));
//.........這裏部分代碼省略.........