|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectch.ethz.ssh2.Connection
A Connection
is used to establish an encrypted TCP/IP
connection to a SSH2 server.
Typically, one
Connection
object.connect
method.openSession
,
createPortForwarder
or similar methods.close
method.
Field Summary | |
static java.lang.String |
identification
|
static java.lang.String |
VERSION
|
Constructor Summary | |
Connection(java.lang.String hostname)
Same as Connection(hostname, 22)
| |
Connection(java.lang.String hostname,
int port)
Prepares a fresh Connection object which can then be used
to establish a connection to the specified SSH2 server. |
Method Summary | |
boolean |
authenticateWithDSA(java.lang.String user,
java.lang.String pem,
java.lang.String password)
After a successful connect, one has to authenticate oneself. |
boolean |
authenticateWithPassword(java.lang.String user,
java.lang.String pass)
After a successfull connect, one has to authenticate oneself. |
void |
close()
Close the connection to the SSH2 server. |
ConnectionInfo |
connect()
Same as connect(null) . |
ConnectionInfo |
connect(ServerHostKeyVerifier verifier)
Connect to the SSH2 server and, as soon as the server has presented its host key, use the verifyServerHostKey method of the
verifier to ask for permission to proceed. |
LocalPortForwarder |
createLocalPortForwarder(int local_port,
java.lang.String host_to_connect,
int port_to_connect)
Creates a new LocalPortForwarder . |
SCPClient |
createSCPClient()
Create a very basic SCPClient that can be used to copy
files from/to the SSH2 server. |
void |
forceKeyExchange()
Force an asynchronous key re-exchange (the call does not block). |
java.lang.String[] |
getAvailableCiphers()
Unless you know what you are doing, you will never need this. |
java.lang.String[] |
getAvailableMACs()
Unless you know what you are doing, you will never need this. |
ConnectionInfo |
getConnectionInfo()
Returns a ConnectionInfo object containing the details of
the connection. |
Session |
openSession()
Open a new session on this connection. |
void |
setClient2ServerCiphers(java.lang.String[] ciphers)
Unless you know what you are doing, you will never need this. |
void |
setClient2ServerMACs(java.lang.String[] macs)
Unless you know what you are doing, you will never need this. |
void |
setDHGexParameters(DHGexParameters dgp)
Sets the parameters for the diffie-hellman group exchange. |
void |
setServer2ClientCiphers(java.lang.String[] ciphers)
Unless you know what you are doing, you will never need this. |
void |
setServer2ClientMACs(java.lang.String[] macs)
Unless you know what you are doing, you will never need this. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String VERSION
public static final java.lang.String identification
Constructor Detail |
public Connection(java.lang.String hostname)
Connection(hostname, 22)
hostname
- the hostname of the SSH2 server.public Connection(java.lang.String hostname, int port)
Connection
object which can then be used
to establish a connection to the specified SSH2 server.
hostname
- the host where we laster want to connect.port
- port on the server, normally 22.Method Detail |
public boolean authenticateWithDSA(java.lang.String user, java.lang.String pem, java.lang.String password) throws java.io.IOException
true
is returned. If the server does not accept
the request, false
is returned and one can retry either by
using this or any other authentication method. At the moment, only
unencrypted and 3DES encrypted DSA private keys are supported. TODO: DES,
AES-128, AES-192 and AES-256.
user
- A String
holding the username.pem
- A String
containing the DSA private key of the
user in OpenSSH key format (PEM, you can't miss the
"-----BEGIN DSA PRIVATE KEY-----" tag). The string may contain
linefeeds.password
- If the PEM string is 3DES encrypted ("DES-EDE3-CBC"), then you
must specify the password. Otherwise, this argument will be
ignored and can be set to null
.
java.io.IOException
public boolean authenticateWithPassword(java.lang.String user, java.lang.String pass) throws java.io.IOException
true
is returned. If the server does not accept the username and password,
false
is returned and one can retry either by using this
or any other authentication method.
user
- pass
-
java.io.IOException
public void close()
public ConnectionInfo connect() throws java.io.IOException
connect(null)
.
connect(null)
method.
java.io.IOException
public ConnectionInfo connect(ServerHostKeyVerifier verifier) throws java.io.IOException
verifyServerHostKey
method of the
verifier
to ask for permission to proceed. Only correctly
signed host keys will be passed to the verifier
. If
verifier
is null
, then any correctly
signed host key will be accepted - this is NOT recommended, since it
makes man-in-the-middle attackes VERY easy.
verifier
- An object that implements the
ServerHostKeyVerifier
interface.
ConnectionInfo
object containg the details of
the established connection.
java.io.IOException
- If any problem occurs, e.g., the server's host key is not
accepted by the verifier
.public void forceKeyExchange() throws java.io.IOException
java.io.IOException
- In case of any failure behind the scenes.public java.lang.String[] getAvailableCiphers()
public java.lang.String[] getAvailableMACs()
public ConnectionInfo getConnectionInfo() throws java.io.IOException
ConnectionInfo
object containing the details of
the connection. Can be called as soon as the connection has been
established (successfully connected).
ConnectionInfo
object.
java.io.IOException
- In case of any failure behind the scenes.public Session openSession() throws java.io.IOException
Session
object.
java.io.IOException
public SCPClient createSCPClient() throws java.io.IOException
SCPClient
that can be used to copy
files from/to the SSH2 server.
SCPClient
object.
java.io.IOException
public LocalPortForwarder createLocalPortForwarder(int local_port, java.lang.String host_to_connect, int port_to_connect) throws java.io.IOException
LocalPortForwarder
. A
LocalPortForwarder
forwards TCP/IP connections to a local
port via the secure tunnel to another host (which may or may not be
identical to the remote SSH2 server).
Session
object.
java.io.IOException
public void setDHGexParameters(DHGexParameters dgp)
DHGexParameters
class.
dgp
- non null.public void setClient2ServerCiphers(java.lang.String[] ciphers)
ciphers
- public void setClient2ServerMACs(java.lang.String[] macs)
macs
- public void setServer2ClientCiphers(java.lang.String[] ciphers)
ciphers
- public void setServer2ClientMACs(java.lang.String[] macs)
macs
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |