Package com.jcraft.jsch
Class Session
- java.lang.Object
-
- com.jcraft.jsch.Session
-
- All Implemented Interfaces:
java.lang.Runnable
public class Session extends java.lang.Object implements java.lang.Runnable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
Session.Forwarding
private class
Session.GlobalRequestReply
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
agent_forwarding
(package private) int
auth_failures
(package private) Buffer
buf
(package private) static int
buffer_margin
private Cipher
c2scipher
private int
c2scipher_size
private MAC
c2smac
(package private) int[]
compress_len
private java.util.Hashtable
config
private java.lang.Thread
connectThread
protected boolean
daemon_thread
private Compression
deflater
private byte[]
Ec2s
private byte[]
Es2c
private Session.GlobalRequestReply
grr
(package private) java.lang.String[]
guess
(package private) java.lang.String
host
private HostKey
hostkey
private java.lang.String
hostKeyAlias
private HostKeyRepository
hostkeyRepository
private byte[]
I_C
private byte[]
I_S
private IdentityRepository
identityRepository
(package private) java.io.InputStream
in
private boolean
in_kex
private boolean
in_prompt
private Compression
inflater
private IO
io
private boolean
isAuthed
private boolean
isConnected
private byte[]
IVc2s
private byte[]
IVs2c
(package private) JSch
jsch
private byte[]
K_S
private static byte[]
keepalivemsg
private long
kex_start_time
private java.lang.Object
lock
private byte[]
MACc2s
private byte[]
MACs2c
(package private) int
max_auth_tries
private static byte[]
nomoresessions
(package private) java.lang.String
org_host
(package private) java.io.OutputStream
out
(package private) Packet
packet
private static int
PACKET_MAX_SIZE
(package private) byte[]
password
(package private) int
port
private Proxy
proxy
(package private) static Random
random
private Cipher
s2ccipher
private int
s2ccipher_size
private MAC
s2cmac
private byte[]
s2cmac_result1
private byte[]
s2cmac_result2
private int
seqi
private int
seqo
private int
serverAliveCountMax
private int
serverAliveInterval
private byte[]
session_id
private java.net.Socket
socket
(package private) SocketFactory
socket_factory
(package private) static int
SSH_MSG_CHANNEL_CLOSE
(package private) static int
SSH_MSG_CHANNEL_DATA
(package private) static int
SSH_MSG_CHANNEL_EOF
(package private) static int
SSH_MSG_CHANNEL_EXTENDED_DATA
(package private) static int
SSH_MSG_CHANNEL_FAILURE
(package private) static int
SSH_MSG_CHANNEL_OPEN
(package private) static int
SSH_MSG_CHANNEL_OPEN_CONFIRMATION
(package private) static int
SSH_MSG_CHANNEL_OPEN_FAILURE
(package private) static int
SSH_MSG_CHANNEL_REQUEST
(package private) static int
SSH_MSG_CHANNEL_SUCCESS
(package private) static int
SSH_MSG_CHANNEL_WINDOW_ADJUST
(package private) static int
SSH_MSG_DEBUG
(package private) static int
SSH_MSG_DISCONNECT
(package private) static int
SSH_MSG_GLOBAL_REQUEST
(package private) static int
SSH_MSG_IGNORE
(package private) static int
SSH_MSG_KEX_DH_GEX_GROUP
(package private) static int
SSH_MSG_KEX_DH_GEX_INIT
(package private) static int
SSH_MSG_KEX_DH_GEX_REPLY
(package private) static int
SSH_MSG_KEX_DH_GEX_REQUEST
(package private) static int
SSH_MSG_KEXDH_INIT
(package private) static int
SSH_MSG_KEXDH_REPLY
(package private) static int
SSH_MSG_KEXINIT
(package private) static int
SSH_MSG_NEWKEYS
(package private) static int
SSH_MSG_REQUEST_FAILURE
(package private) static int
SSH_MSG_REQUEST_SUCCESS
(package private) static int
SSH_MSG_SERVICE_ACCEPT
(package private) static int
SSH_MSG_SERVICE_REQUEST
(package private) static int
SSH_MSG_UNIMPLEMENTED
(package private) java.lang.Runnable
thread
private int
timeout
(package private) int[]
uncompress_len
private UserInfo
userinfo
(package private) java.lang.String
username
private byte[]
V_C
private byte[]
V_S
(package private) boolean
x11_forwarding
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private int
_setPortForwardingR(java.lang.String bind_address, int rport)
private void
_write(Packet packet)
(package private) void
addChannel(Channel channel)
private void
applyConfig()
private void
applyConfigChannel(ChannelSession channel)
(package private) static boolean
checkCipher(java.lang.String cipher)
private java.lang.String[]
checkCiphers(java.lang.String ciphers)
private void
checkConfig(ConfigRepository.Config config, java.lang.String key)
private void
checkHost(java.lang.String chost, int port, KeyExchange kex)
(package private) static boolean
checkKex(Session s, java.lang.String kex)
private java.lang.String[]
checkKexes(java.lang.String kexes)
private java.lang.String[]
checkSignatures(java.lang.String sigs)
void
connect()
void
connect(int connectTimeout)
void
delPortForwardingL(int lport)
Cancels the local port forwarding assigned at local TCP portlport
on loopback interface.void
delPortForwardingL(java.lang.String bind_address, int lport)
Cancels the local port forwarding assigned at local TCP portlport
onbind_address
interface.void
delPortForwardingR(int rport)
Cancels the remote port forwarding assigned at remote TCP portrport
.void
delPortForwardingR(java.lang.String bind_address, int rport)
Cancels the remote port forwarding assigned at remote TCP portrport
bound on the interface atbind_address
.void
disconnect()
void
encode(Packet packet)
private byte[]
expandKey(Buffer buf, byte[] K, byte[] H, byte[] key, HASH hash, int required_length)
java.lang.String
getClientVersion()
java.lang.String
getConfig(java.lang.String key)
java.lang.String
getHost()
HostKey
getHostKey()
java.lang.String
getHostKeyAlias()
HostKeyRepository
getHostKeyRepository()
Gets the hostkeyRepository.(package private) IdentityRepository
getIdentityRepository()
Gets the identityRepository.int
getPort()
java.lang.String[]
getPortForwardingL()
Lists the registered local port forwarding.java.lang.String[]
getPortForwardingR()
Lists the registered remote port forwarding.int
getServerAliveCountMax()
Returns setting for the threshold to send keep-alive messages.int
getServerAliveInterval()
Returns setting for the interval to send a keep-alive message.java.lang.String
getServerVersion()
(package private) byte[]
getSessionId()
Channel
getStreamForwarder(java.lang.String host, int port)
Instantiates an instance of stream-forwarder tohost
:port
.int
getTimeout()
UserInfo
getUserInfo()
java.lang.String
getUserName()
private void
initDeflater(java.lang.String method)
private void
initInflater(java.lang.String method)
boolean
isConnected()
void
noMoreSessionChannels()
Channel
openChannel(java.lang.String type)
private Session.Forwarding
parseForwarding(java.lang.String conf)
The given argument may be "[bind_address:]port:host:hostport" or "[bind_address:]port host:hostport", which is from LocalForward command of ~/.ssh/config .Buffer
read(Buffer buf)
private KeyExchange
receive_kexinit(Buffer buf)
private void
receive_newkeys(Buffer buf, KeyExchange kex)
void
rekey()
private void
requestPortForwarding()
void
run()
private void
send_kexinit()
private void
send_newkeys()
void
sendIgnore()
void
sendKeepAliveMsg()
void
setClientVersion(java.lang.String cv)
void
setConfig(java.lang.String key, java.lang.String value)
void
setConfig(java.util.Hashtable newconf)
void
setConfig(java.util.Properties newconf)
void
setDaemonThread(boolean enable)
void
setHost(java.lang.String host)
void
setHostKeyAlias(java.lang.String hostKeyAlias)
void
setHostKeyRepository(HostKeyRepository hostkeyRepository)
Sets the hostkeyRepository, which will be referred in checking host keys.void
setIdentityRepository(IdentityRepository identityRepository)
Sets the identityRepository, which will be referred in the public key authentication.void
setInputStream(java.io.InputStream in)
void
setOutputStream(java.io.OutputStream out)
void
setPassword(byte[] password)
void
setPassword(java.lang.String password)
void
setPort(int port)
int
setPortForwardingL(int lport, java.lang.String host, int rport)
Registers the local port forwarding for loop-back interface.int
setPortForwardingL(java.lang.String conf)
Registers the local port forwarding.int
setPortForwardingL(java.lang.String bind_address, int lport, java.lang.String host, int rport)
Registers the local port forwarding.int
setPortForwardingL(java.lang.String bind_address, int lport, java.lang.String host, int rport, ServerSocketFactory ssf)
Registers the local port forwarding.int
setPortForwardingL(java.lang.String bind_address, int lport, java.lang.String host, int rport, ServerSocketFactory ssf, int connectTimeout)
Registers the local port forwarding.void
setPortForwardingR(int rport, java.lang.String daemon)
Registers the remote port forwarding for the loopback interface of the remote.void
setPortForwardingR(int rport, java.lang.String host, int lport)
Registers the remote port forwarding for the loopback interface of the remote.void
setPortForwardingR(int rport, java.lang.String host, int lport, SocketFactory sf)
Registers the remote port forwarding for the loopback interface of the remote.void
setPortForwardingR(int rport, java.lang.String daemon, java.lang.Object[] arg)
Registers the remote port forwarding for the loopback interface of the remote.int
setPortForwardingR(java.lang.String conf)
Registers the remote port forwarding.void
setPortForwardingR(java.lang.String bind_address, int rport, java.lang.String host, int lport)
Registers the remote port forwarding.void
setPortForwardingR(java.lang.String bind_address, int rport, java.lang.String host, int lport, SocketFactory sf)
Registers the remote port forwarding.void
setPortForwardingR(java.lang.String bind_address, int rport, java.lang.String daemon, java.lang.Object[] arg)
Registers the remote port forwarding.void
setProxy(Proxy proxy)
void
setServerAliveCountMax(int count)
Sets the number of keep-alive messages which may be sent without receiving any messages back from the server.void
setServerAliveInterval(int interval)
Sets the interval to send a keep-alive message.void
setSocketFactory(SocketFactory sfactory)
void
setTimeout(int timeout)
void
setUserInfo(UserInfo userinfo)
(package private) void
setUserName(java.lang.String username)
void
setX11Cookie(java.lang.String cookie)
void
setX11Host(java.lang.String host)
void
setX11Port(int port)
private void
start_discard(Buffer buf, Cipher cipher, MAC mac, int packet_length, int discard)
private void
updateKeys(KeyExchange kex)
void
write(Packet packet)
(package private) void
write(Packet packet, Channel c, int length)
-
-
-
Field Detail
-
SSH_MSG_DISCONNECT
static final int SSH_MSG_DISCONNECT
- See Also:
- Constant Field Values
-
SSH_MSG_IGNORE
static final int SSH_MSG_IGNORE
- See Also:
- Constant Field Values
-
SSH_MSG_UNIMPLEMENTED
static final int SSH_MSG_UNIMPLEMENTED
- See Also:
- Constant Field Values
-
SSH_MSG_DEBUG
static final int SSH_MSG_DEBUG
- See Also:
- Constant Field Values
-
SSH_MSG_SERVICE_REQUEST
static final int SSH_MSG_SERVICE_REQUEST
- See Also:
- Constant Field Values
-
SSH_MSG_SERVICE_ACCEPT
static final int SSH_MSG_SERVICE_ACCEPT
- See Also:
- Constant Field Values
-
SSH_MSG_KEXINIT
static final int SSH_MSG_KEXINIT
- See Also:
- Constant Field Values
-
SSH_MSG_NEWKEYS
static final int SSH_MSG_NEWKEYS
- See Also:
- Constant Field Values
-
SSH_MSG_KEXDH_INIT
static final int SSH_MSG_KEXDH_INIT
- See Also:
- Constant Field Values
-
SSH_MSG_KEXDH_REPLY
static final int SSH_MSG_KEXDH_REPLY
- See Also:
- Constant Field Values
-
SSH_MSG_KEX_DH_GEX_GROUP
static final int SSH_MSG_KEX_DH_GEX_GROUP
- See Also:
- Constant Field Values
-
SSH_MSG_KEX_DH_GEX_INIT
static final int SSH_MSG_KEX_DH_GEX_INIT
- See Also:
- Constant Field Values
-
SSH_MSG_KEX_DH_GEX_REPLY
static final int SSH_MSG_KEX_DH_GEX_REPLY
- See Also:
- Constant Field Values
-
SSH_MSG_KEX_DH_GEX_REQUEST
static final int SSH_MSG_KEX_DH_GEX_REQUEST
- See Also:
- Constant Field Values
-
SSH_MSG_GLOBAL_REQUEST
static final int SSH_MSG_GLOBAL_REQUEST
- See Also:
- Constant Field Values
-
SSH_MSG_REQUEST_SUCCESS
static final int SSH_MSG_REQUEST_SUCCESS
- See Also:
- Constant Field Values
-
SSH_MSG_REQUEST_FAILURE
static final int SSH_MSG_REQUEST_FAILURE
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_OPEN
static final int SSH_MSG_CHANNEL_OPEN
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_OPEN_CONFIRMATION
static final int SSH_MSG_CHANNEL_OPEN_CONFIRMATION
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_OPEN_FAILURE
static final int SSH_MSG_CHANNEL_OPEN_FAILURE
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_WINDOW_ADJUST
static final int SSH_MSG_CHANNEL_WINDOW_ADJUST
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_DATA
static final int SSH_MSG_CHANNEL_DATA
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_EXTENDED_DATA
static final int SSH_MSG_CHANNEL_EXTENDED_DATA
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_EOF
static final int SSH_MSG_CHANNEL_EOF
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_CLOSE
static final int SSH_MSG_CHANNEL_CLOSE
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_REQUEST
static final int SSH_MSG_CHANNEL_REQUEST
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_SUCCESS
static final int SSH_MSG_CHANNEL_SUCCESS
- See Also:
- Constant Field Values
-
SSH_MSG_CHANNEL_FAILURE
static final int SSH_MSG_CHANNEL_FAILURE
- See Also:
- Constant Field Values
-
PACKET_MAX_SIZE
private static final int PACKET_MAX_SIZE
- See Also:
- Constant Field Values
-
V_S
private byte[] V_S
-
V_C
private byte[] V_C
-
I_C
private byte[] I_C
-
I_S
private byte[] I_S
-
K_S
private byte[] K_S
-
session_id
private byte[] session_id
-
IVc2s
private byte[] IVc2s
-
IVs2c
private byte[] IVs2c
-
Ec2s
private byte[] Ec2s
-
Es2c
private byte[] Es2c
-
MACc2s
private byte[] MACc2s
-
MACs2c
private byte[] MACs2c
-
seqi
private int seqi
-
seqo
private int seqo
-
guess
java.lang.String[] guess
-
s2ccipher
private Cipher s2ccipher
-
c2scipher
private Cipher c2scipher
-
s2cmac
private MAC s2cmac
-
c2smac
private MAC c2smac
-
s2cmac_result1
private byte[] s2cmac_result1
-
s2cmac_result2
private byte[] s2cmac_result2
-
deflater
private Compression deflater
-
inflater
private Compression inflater
-
io
private IO io
-
socket
private java.net.Socket socket
-
timeout
private int timeout
-
isConnected
private volatile boolean isConnected
-
isAuthed
private boolean isAuthed
-
connectThread
private java.lang.Thread connectThread
-
lock
private java.lang.Object lock
-
x11_forwarding
boolean x11_forwarding
-
agent_forwarding
boolean agent_forwarding
-
in
java.io.InputStream in
-
out
java.io.OutputStream out
-
random
static Random random
-
buf
Buffer buf
-
packet
Packet packet
-
socket_factory
SocketFactory socket_factory
-
buffer_margin
static final int buffer_margin
- See Also:
- Constant Field Values
-
config
private java.util.Hashtable config
-
proxy
private Proxy proxy
-
userinfo
private UserInfo userinfo
-
hostKeyAlias
private java.lang.String hostKeyAlias
-
serverAliveInterval
private int serverAliveInterval
-
serverAliveCountMax
private int serverAliveCountMax
-
identityRepository
private IdentityRepository identityRepository
-
hostkeyRepository
private HostKeyRepository hostkeyRepository
-
daemon_thread
protected boolean daemon_thread
-
kex_start_time
private long kex_start_time
-
max_auth_tries
int max_auth_tries
-
auth_failures
int auth_failures
-
host
java.lang.String host
-
org_host
java.lang.String org_host
-
port
int port
-
username
java.lang.String username
-
password
byte[] password
-
jsch
JSch jsch
-
in_kex
private volatile boolean in_kex
-
in_prompt
private volatile boolean in_prompt
-
uncompress_len
int[] uncompress_len
-
compress_len
int[] compress_len
-
s2ccipher_size
private int s2ccipher_size
-
c2scipher_size
private int c2scipher_size
-
thread
java.lang.Runnable thread
-
grr
private Session.GlobalRequestReply grr
-
keepalivemsg
private static final byte[] keepalivemsg
-
nomoresessions
private static final byte[] nomoresessions
-
hostkey
private HostKey hostkey
-
-
Constructor Detail
-
Session
Session(JSch jsch, java.lang.String username, java.lang.String host, int port) throws JSchException
- Throws:
JSchException
-
-
Method Detail
-
connect
public void connect() throws JSchException
- Throws:
JSchException
-
connect
public void connect(int connectTimeout) throws JSchException
- Throws:
JSchException
-
receive_kexinit
private KeyExchange receive_kexinit(Buffer buf) throws java.lang.Exception
- Throws:
java.lang.Exception
-
rekey
public void rekey() throws java.lang.Exception
- Throws:
java.lang.Exception
-
send_kexinit
private void send_kexinit() throws java.lang.Exception
- Throws:
java.lang.Exception
-
send_newkeys
private void send_newkeys() throws java.lang.Exception
- Throws:
java.lang.Exception
-
checkHost
private void checkHost(java.lang.String chost, int port, KeyExchange kex) throws JSchException
- Throws:
JSchException
-
openChannel
public Channel openChannel(java.lang.String type) throws JSchException
- Throws:
JSchException
-
encode
public void encode(Packet packet) throws java.lang.Exception
- Throws:
java.lang.Exception
-
start_discard
private void start_discard(Buffer buf, Cipher cipher, MAC mac, int packet_length, int discard) throws JSchException, java.io.IOException
- Throws:
JSchException
java.io.IOException
-
getSessionId
byte[] getSessionId()
-
receive_newkeys
private void receive_newkeys(Buffer buf, KeyExchange kex) throws java.lang.Exception
- Throws:
java.lang.Exception
-
updateKeys
private void updateKeys(KeyExchange kex) throws java.lang.Exception
- Throws:
java.lang.Exception
-
expandKey
private byte[] expandKey(Buffer buf, byte[] K, byte[] H, byte[] key, HASH hash, int required_length) throws java.lang.Exception
- Throws:
java.lang.Exception
-
write
void write(Packet packet, Channel c, int length) throws java.lang.Exception
- Throws:
java.lang.Exception
-
write
public void write(Packet packet) throws java.lang.Exception
- Throws:
java.lang.Exception
-
_write
private void _write(Packet packet) throws java.lang.Exception
- Throws:
java.lang.Exception
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
disconnect
public void disconnect()
-
setPortForwardingL
public int setPortForwardingL(int lport, java.lang.String host, int rport) throws JSchException
Registers the local port forwarding for loop-back interface. Iflport
is0
, the tcp port will be allocated.- Parameters:
lport
- local port for local port forwardinghost
- host address for local port forwardingrport
- remote port number for local port forwarding- Returns:
- an allocated local TCP port number
- Throws:
JSchException
- See Also:
setPortForwardingL(String bind_address, int lport, String host, int rport, ServerSocketFactory ssf, int connectTimeout)
-
setPortForwardingL
public int setPortForwardingL(java.lang.String bind_address, int lport, java.lang.String host, int rport) throws JSchException
Registers the local port forwarding. Ifbind_address
is an empty string or '*', the port should be available from all interfaces. Ifbind_address
is"localhost"
ornull
, the listening port will be bound for local use only. Iflport
is0
, the tcp port will be allocated.- Parameters:
bind_address
- bind address for local port forwardinglport
- local port for local port forwardinghost
- host address for local port forwardingrport
- remote port number for local port forwarding- Returns:
- an allocated local TCP port number
- Throws:
JSchException
- See Also:
setPortForwardingL(String bind_address, int lport, String host, int rport, ServerSocketFactory ssf, int connectTimeout)
-
setPortForwardingL
public int setPortForwardingL(java.lang.String bind_address, int lport, java.lang.String host, int rport, ServerSocketFactory ssf) throws JSchException
Registers the local port forwarding. Ifbind_address
is an empty string or"*"
, the port should be available from all interfaces. Ifbind_address
is"localhost"
ornull
, the listening port will be bound for local use only. Iflport
is0
, the tcp port will be allocated.- Parameters:
bind_address
- bind address for local port forwardinglport
- local port for local port forwardinghost
- host address for local port forwardingrport
- remote port number for local port forwardingssf
- socket factory- Returns:
- an allocated local TCP port number
- Throws:
JSchException
- See Also:
setPortForwardingL(String bind_address, int lport, String host, int rport, ServerSocketFactory ssf, int connectTimeout)
-
setPortForwardingL
public int setPortForwardingL(java.lang.String bind_address, int lport, java.lang.String host, int rport, ServerSocketFactory ssf, int connectTimeout) throws JSchException
Registers the local port forwarding. Ifbind_address
is an empty string or"*"
, the port should be available from all interfaces. Ifbind_address
is"localhost"
ornull
, the listening port will be bound for local use only. Iflport
is0
, the tcp port will be allocated.- Parameters:
bind_address
- bind address for local port forwardinglport
- local port for local port forwardinghost
- host address for local port forwardingrport
- remote port number for local port forwardingssf
- socket factoryconnectTimeout
- timeout for establishing port connection- Returns:
- an allocated local TCP port number
- Throws:
JSchException
-
delPortForwardingL
public void delPortForwardingL(int lport) throws JSchException
Cancels the local port forwarding assigned at local TCP portlport
on loopback interface.- Parameters:
lport
- local TCP port- Throws:
JSchException
-
delPortForwardingL
public void delPortForwardingL(java.lang.String bind_address, int lport) throws JSchException
Cancels the local port forwarding assigned at local TCP portlport
onbind_address
interface.- Parameters:
bind_address
- bind_address of network interfaceslport
- local TCP port- Throws:
JSchException
-
getPortForwardingL
public java.lang.String[] getPortForwardingL() throws JSchException
Lists the registered local port forwarding.- Returns:
- a list of "lport:host:hostport"
- Throws:
JSchException
-
setPortForwardingR
public void setPortForwardingR(int rport, java.lang.String host, int lport) throws JSchException
Registers the remote port forwarding for the loopback interface of the remote.- Parameters:
rport
- remote porthost
- host addresslport
- local port- Throws:
JSchException
- See Also:
setPortForwardingR(String bind_address, int rport, String host, int lport, SocketFactory sf)
-
setPortForwardingR
public void setPortForwardingR(java.lang.String bind_address, int rport, java.lang.String host, int lport) throws JSchException
Registers the remote port forwarding. Ifbind_address
is an empty string or"*"
, the port should be available from all interfaces. Ifbind_address
is"localhost"
or is not given, the listening port will be bound for local use only. Note that ifGatewayPorts
is"no"
on the remote,"localhost"
is always used as a bind_address.- Parameters:
bind_address
- bind addressrport
- remote porthost
- host addresslport
- local port- Throws:
JSchException
- See Also:
setPortForwardingR(String bind_address, int rport, String host, int lport, SocketFactory sf)
-
setPortForwardingR
public void setPortForwardingR(int rport, java.lang.String host, int lport, SocketFactory sf) throws JSchException
Registers the remote port forwarding for the loopback interface of the remote.- Parameters:
rport
- remote porthost
- host addresslport
- local portsf
- socket factory- Throws:
JSchException
- See Also:
setPortForwardingR(String bind_address, int rport, String host, int lport, SocketFactory sf)
-
setPortForwardingR
public void setPortForwardingR(java.lang.String bind_address, int rport, java.lang.String host, int lport, SocketFactory sf) throws JSchException
Registers the remote port forwarding. Ifbind_address
is an empty string or"*"
, the port should be available from all interfaces. Ifbind_address
is"localhost"
or is not given, the listening port will be bound for local use only. Note that ifGatewayPorts
is"no"
on the remote,"localhost"
is always used as a bind_address. Ifrport
is0
, the TCP port will be allocated on the remote.- Parameters:
bind_address
- bind addressrport
- remote porthost
- host addresslport
- local portsf
- socket factory- Throws:
JSchException
-
setPortForwardingR
public void setPortForwardingR(int rport, java.lang.String daemon) throws JSchException
Registers the remote port forwarding for the loopback interface of the remote. The TCP connection torport
on the remote will be forwarded to an instance of the classdaemon
. The class specified bydaemon
must implementForwardedTCPIPDaemon
.- Parameters:
rport
- remote portdaemon
- class name, which implements "ForwardedTCPIPDaemon"- Throws:
JSchException
- See Also:
setPortForwardingR(String bind_address, int rport, String daemon, Object[] arg)
-
setPortForwardingR
public void setPortForwardingR(int rport, java.lang.String daemon, java.lang.Object[] arg) throws JSchException
Registers the remote port forwarding for the loopback interface of the remote. The TCP connection torport
on the remote will be forwarded to an instance of the classdaemon
with the argumentarg
. The class specified bydaemon
must implementForwardedTCPIPDaemon
.- Parameters:
rport
- remote portdaemon
- class name, which implements "ForwardedTCPIPDaemon"arg
- arguments for "daemon"- Throws:
JSchException
- See Also:
setPortForwardingR(String bind_address, int rport, String daemon, Object[] arg)
-
setPortForwardingR
public void setPortForwardingR(java.lang.String bind_address, int rport, java.lang.String daemon, java.lang.Object[] arg) throws JSchException
Registers the remote port forwarding. Ifbind_address
is an empty string or"*"
, the port should be available from all interfaces. Ifbind_address
is"localhost"
or is not given, the listening port will be bound for local use only. Note that ifGatewayPorts
is"no"
on the remote,"localhost"
is always used as a bind_address. The TCP connection torport
on the remote will be forwarded to an instance of the classdaemon
with the argumentarg
. The class specified bydaemon
must implementForwardedTCPIPDaemon
.- Parameters:
bind_address
- bind addressrport
- remote portdaemon
- class name, which implements "ForwardedTCPIPDaemon"arg
- arguments for "daemon"- Throws:
JSchException
- See Also:
setPortForwardingR(String bind_address, int rport, String daemon, Object[] arg)
-
getPortForwardingR
public java.lang.String[] getPortForwardingR() throws JSchException
Lists the registered remote port forwarding.- Returns:
- a list of "rport:host:hostport"
- Throws:
JSchException
-
parseForwarding
private Session.Forwarding parseForwarding(java.lang.String conf) throws JSchException
The given argument may be "[bind_address:]port:host:hostport" or "[bind_address:]port host:hostport", which is from LocalForward command of ~/.ssh/config .- Throws:
JSchException
-
setPortForwardingL
public int setPortForwardingL(java.lang.String conf) throws JSchException
Registers the local port forwarding. The argument should be in the format like "[bind_address:]port:host:hostport". Ifbind_address
is an empty string or"*"
, the port should be available from all interfaces. Ifbind_address
is"localhost"
or is not given, the listening port will be bound for local use only.- Parameters:
conf
- configuration of local port forwarding- Returns:
- an assigned port number
- Throws:
JSchException
- See Also:
setPortForwardingL(String bind_address, int lport, String host, int rport)
-
setPortForwardingR
public int setPortForwardingR(java.lang.String conf) throws JSchException
Registers the remote port forwarding. The argument should be in the format like "[bind_address:]port:host:hostport". If the bind_address is not given, the default is to only bind to loopback addresses. If the bind_address is"*"
or an empty string, then the forwarding is requested to listen on all interfaces. Note that ifGatewayPorts
is"no"
on the remote,"localhost"
is always used for bind_address. If the specified remote is"0"
, the TCP port will be allocated on the remote.- Parameters:
conf
- configuration of remote port forwarding- Returns:
- an allocated TCP port on the remote.
- Throws:
JSchException
- See Also:
setPortForwardingR(String bind_address, int rport, String host, int rport)
-
getStreamForwarder
public Channel getStreamForwarder(java.lang.String host, int port) throws JSchException
Instantiates an instance of stream-forwarder tohost
:port
. Set I/O stream to the given channel, and then invoke Channel#connect() method.- Parameters:
host
- remote host, which the given stream will be plugged to.port
- remote port, which the given stream will be plugged to.- Throws:
JSchException
-
_setPortForwardingR
private int _setPortForwardingR(java.lang.String bind_address, int rport) throws JSchException
- Throws:
JSchException
-
delPortForwardingR
public void delPortForwardingR(int rport) throws JSchException
Cancels the remote port forwarding assigned at remote TCP portrport
.- Parameters:
rport
- remote TCP port- Throws:
JSchException
-
delPortForwardingR
public void delPortForwardingR(java.lang.String bind_address, int rport) throws JSchException
Cancels the remote port forwarding assigned at remote TCP portrport
bound on the interface atbind_address
.- Parameters:
bind_address
- bind address of the interface on the remoterport
- remote TCP port- Throws:
JSchException
-
initDeflater
private void initDeflater(java.lang.String method) throws JSchException
- Throws:
JSchException
-
initInflater
private void initInflater(java.lang.String method) throws JSchException
- Throws:
JSchException
-
addChannel
void addChannel(Channel channel)
-
setProxy
public void setProxy(Proxy proxy)
-
setHost
public void setHost(java.lang.String host)
-
setPort
public void setPort(int port)
-
setUserName
void setUserName(java.lang.String username)
-
setUserInfo
public void setUserInfo(UserInfo userinfo)
-
getUserInfo
public UserInfo getUserInfo()
-
setInputStream
public void setInputStream(java.io.InputStream in)
-
setOutputStream
public void setOutputStream(java.io.OutputStream out)
-
setX11Host
public void setX11Host(java.lang.String host)
-
setX11Port
public void setX11Port(int port)
-
setX11Cookie
public void setX11Cookie(java.lang.String cookie)
-
setPassword
public void setPassword(java.lang.String password)
-
setPassword
public void setPassword(byte[] password)
-
setConfig
public void setConfig(java.util.Properties newconf)
-
setConfig
public void setConfig(java.util.Hashtable newconf)
-
setConfig
public void setConfig(java.lang.String key, java.lang.String value)
-
getConfig
public java.lang.String getConfig(java.lang.String key)
-
setSocketFactory
public void setSocketFactory(SocketFactory sfactory)
-
isConnected
public boolean isConnected()
-
getTimeout
public int getTimeout()
-
setTimeout
public void setTimeout(int timeout) throws JSchException
- Throws:
JSchException
-
getServerVersion
public java.lang.String getServerVersion()
-
getClientVersion
public java.lang.String getClientVersion()
-
setClientVersion
public void setClientVersion(java.lang.String cv)
-
sendIgnore
public void sendIgnore() throws java.lang.Exception
- Throws:
java.lang.Exception
-
sendKeepAliveMsg
public void sendKeepAliveMsg() throws java.lang.Exception
- Throws:
java.lang.Exception
-
noMoreSessionChannels
public void noMoreSessionChannels() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getHostKey
public HostKey getHostKey()
-
getHost
public java.lang.String getHost()
-
getUserName
public java.lang.String getUserName()
-
getPort
public int getPort()
-
setHostKeyAlias
public void setHostKeyAlias(java.lang.String hostKeyAlias)
-
getHostKeyAlias
public java.lang.String getHostKeyAlias()
-
setServerAliveInterval
public void setServerAliveInterval(int interval) throws JSchException
Sets the interval to send a keep-alive message. If zero is specified, any keep-alive message must not be sent. The default interval is zero.- Parameters:
interval
- the specified interval, in milliseconds.- Throws:
JSchException
- See Also:
getServerAliveInterval()
-
getServerAliveInterval
public int getServerAliveInterval()
Returns setting for the interval to send a keep-alive message.- See Also:
setServerAliveInterval(int)
-
setServerAliveCountMax
public void setServerAliveCountMax(int count)
Sets the number of keep-alive messages which may be sent without receiving any messages back from the server. If this threshold is reached while keep-alive messages are being sent, the connection will be disconnected. The default value is one.- Parameters:
count
- the specified count- See Also:
getServerAliveCountMax()
-
getServerAliveCountMax
public int getServerAliveCountMax()
Returns setting for the threshold to send keep-alive messages.- See Also:
setServerAliveCountMax(int)
-
setDaemonThread
public void setDaemonThread(boolean enable)
-
checkCiphers
private java.lang.String[] checkCiphers(java.lang.String ciphers)
-
checkCipher
static boolean checkCipher(java.lang.String cipher)
-
checkKexes
private java.lang.String[] checkKexes(java.lang.String kexes)
-
checkKex
static boolean checkKex(Session s, java.lang.String kex)
-
checkSignatures
private java.lang.String[] checkSignatures(java.lang.String sigs)
-
setIdentityRepository
public void setIdentityRepository(IdentityRepository identityRepository)
Sets the identityRepository, which will be referred in the public key authentication. The default value isnull
.- Parameters:
identityRepository
-- See Also:
getIdentityRepository()
-
getIdentityRepository
IdentityRepository getIdentityRepository()
Gets the identityRepository. If this.identityRepository isnull
, JSch#getIdentityRepository() will be invoked.- See Also:
JSch.getIdentityRepository()
-
setHostKeyRepository
public void setHostKeyRepository(HostKeyRepository hostkeyRepository)
Sets the hostkeyRepository, which will be referred in checking host keys.- Parameters:
hostkeyRepository
-- See Also:
getHostKeyRepository()
-
getHostKeyRepository
public HostKeyRepository getHostKeyRepository()
Gets the hostkeyRepository. If this.hostkeyRepository isnull
, JSch#getHostKeyRepository() will be invoked.- See Also:
JSch.getHostKeyRepository()
-
applyConfig
private void applyConfig() throws JSchException
- Throws:
JSchException
-
applyConfigChannel
private void applyConfigChannel(ChannelSession channel) throws JSchException
- Throws:
JSchException
-
requestPortForwarding
private void requestPortForwarding() throws JSchException
- Throws:
JSchException
-
checkConfig
private void checkConfig(ConfigRepository.Config config, java.lang.String key)
-
-