本文整理匯總了C#中Tamir.SharpSsh.jsch.Session.read方法的典型用法代碼示例。如果您正苦於以下問題:C# Session.read方法的具體用法?C# Session.read怎麽用?C# Session.read使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Tamir.SharpSsh.jsch.Session
的用法示例。
在下文中一共展示了Session.read方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: 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;
}
示例2: 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;
}
示例3: 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))
//.........這裏部分代碼省略.........
示例4: 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;
}
//.........這裏部分代碼省略.........
示例5: 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));
//.........這裏部分代碼省略.........