Question:
Using Chilkat v9.5.0.54 on a two node peer-to-peer network does not login to a SSH-2.0 OpenSSH_6.6 server. When the same two nodes are connected through a network SSH logs in ok. When the SSH server is downgraded to SSH-1.99 OpenSSH_4.3 log in is also successful. In all cases, running a PuTTY window logs in thereby proving the connection supports SSH regardless of the physical and server configuration. Is there something that can be adjusted to enable login through the Chilkat SSH component in the required configuration (peer-to-peer to SSH2.0 OpenSSH 6.6)?
Thanks
Debug Log, peer-to-peer SSH2.0 OpenSSH 6.6:
Connect_Ssh:
DllDate: Oct 29 2015
ChilkatVersion: 9.5.0.54
UnlockPrefix: COPTECSSH
Username: VS2012:mark
Architecture: Little Endian; 32-bit
Language: .NET 4.5
VerboseLogging: 0
hostname: 192.168.1.202
port: 22
sshConnect:
connectSocket:
connect_ipv6_or_ipv4:
getAddressInfo:
(leaveContext)
(leaveContext)
(leaveContext)
Established TCP/IP connection with SSH server
clientIdentifier: SSH-2.0-PuTTY_Release_0.63
Sending client identifier...
Done sending client identifier.
Reading server version...
initialDataFromSshServer: SSH-2.0-OpenSSH_6.6
serverVersion: SSH-2.0-OpenSSH_6.6
KeyExchangeAlgs:
algorithm: curve25519-sha256@libssh.org
algorithm: ecdh-sha2-nistp256
algorithm: ecdh-sha2-nistp384
algorithm: ecdh-sha2-nistp521
algorithm: diffie-hellman-group-exchange-sha256
algorithm: diffie-hellman-group-exchange-sha1
algorithm: diffie-hellman-group14-sha1
algorithm: diffie-hellman-group1-sha1
(leaveContext)
HostKeyAlgs:
algorithm: ssh-rsa
algorithm: ssh-dss
algorithm: ecdsa-sha2-nistp256
algorithm: ssh-ed25519
(leaveContext)
EncCS:
algorithm: aes128-ctr
algorithm: aes192-ctr
algorithm: aes256-ctr
algorithm: arcfour256
algorithm: arcfour128
algorithm: aes128-gcm@openssh.com
algorithm: aes256-gcm@openssh.com
algorithm: chacha20-poly1305@openssh.com
algorithm: aes128-cbc
algorithm: 3des-cbc
algorithm: blowfish-cbc
algorithm: cast128-cbc
algorithm: aes192-cbc
algorithm: aes256-cbc
algorithm: arcfour
algorithm: rijndael-cbc@lysator.liu.se
(leaveContext)
EncSC:
algorithm: aes128-ctr
algorithm: aes192-ctr
algorithm: aes256-ctr
algorithm: arcfour256
algorithm: arcfour128
algorithm: aes128-gcm@openssh.com
algorithm: aes256-gcm@openssh.com
algorithm: chacha20-poly1305@openssh.com
algorithm: aes128-cbc
algorithm: 3des-cbc
algorithm: blowfish-cbc
algorithm: cast128-cbc
algorithm: aes192-cbc
algorithm: aes256-cbc
algorithm: arcfour
algorithm: rijndael-cbc@lysator.liu.se
(leaveContext)
MacCS:
algorithm: hmac-md5-etm@openssh.com
algorithm: hmac-sha1-etm@openssh.com
algorithm: umac-64-etm@openssh.com
algorithm: umac-128-etm@openssh.com
algorithm: hmac-sha2-256-etm@openssh.com
algorithm: hmac-sha2-512-etm@openssh.com
algorithm: hmac-ripemd160-etm@openssh.com
algorithm: hmac-sha1-96-etm@openssh.com
algorithm: hmac-md5-96-etm@openssh.com
algorithm: hmac-md5
algorithm: hmac-sha1
algorithm: umac-64@openssh.com
algorithm: umac-128@openssh.com
algorithm: hmac-sha2-256
algorithm: hmac-sha2-512
algorithm: hmac-ripemd160
algorithm: hmac-ripemd160@openssh.com
algorithm: hmac-sha1-96
algorithm: hmac-md5-96
(leaveContext)
MacSC:
algorithm: hmac-md5-etm@openssh.com
algorithm: hmac-sha1-etm@openssh.com
algorithm: umac-64-etm@openssh.com
algorithm: umac-128-etm@openssh.com
algorithm: hmac-sha2-256-etm@openssh.com
algorithm: hmac-sha2-512-etm@openssh.com
algorithm: hmac-ripemd160-etm@openssh.com
algorithm: hmac-sha1-96-etm@openssh.com
algorithm: hmac-md5-96-etm@openssh.com
algorithm: hmac-md5
algorithm: hmac-sha1
algorithm: umac-64@openssh.com
algorithm: umac-128@openssh.com
algorithm: hmac-sha2-256
algorithm: hmac-sha2-512
algorithm: hmac-ripemd160
algorithm: hmac-ripemd160@openssh.com
algorithm: hmac-sha1-96
algorithm: hmac-md5-96
(leaveContext)
CompCS:
algorithm: none
(leaveContext)
CompSC:
algorithm: none
(leaveContext)
LangCS:
(leaveContext)
LangSC:
(leaveContext)
ChosenIncomingEncryption: aes256-ctr
ChosenOutgoingEncryptoin: aes256-ctr
ChosenIncomingMac: hmac-sha2-256
ChosenOutgoingMac: hmac-sha2-256
ChosenIncomingCompression: none
ChosenOutgoingCompression: none
ChosenKexAlgorithm: diffie-hellman-group-exchange-sha256
ChosenHostKeyAlgorithm: ssh-dss
Received GEX Group.
sendDhInit:
(leaveContext)
Using SHA256 for Key Exchange Hash
DSS host key parsed successfully.
dsaSigValid: 1
Sending newkeys to server...
Expecting newkeys from server...
SSH Key Exchange Success.
No outgoing compression.
No incoming compression.
Outgoing encryption is now AES 256 CTR
outgoingMac: SHA256
(leaveContext)
socketOptions:
SO_SNDBUF: 262144
SO_RCVBUF: 4194304
TCP_NODELAY: 1
SO_KEEPALIVE: 0
(leaveContext)
Success.
(leaveContext)
AuthenticatePw:
DllDate: Oct 29 2015
ChilkatVersion: 9.5.0.54
UnlockPrefix: COPTECSSH
Username: VS2012:mark
Architecture: Little Endian; 32-bit
Language: .NET 4.5
VerboseLogging: 0
SshVersion: SSH-2.0-OpenSSH_6.6
sshAuthenticatePw:
requestUserAuthService:
sendServiceRequest:
svcName: ssh-userauth
SentServiceReq: ssh-userauth
(leaveContext)
sshReadMessage:
mType: SERVICE_ACCEPT
(leaveContext)
ssh-userauth service accepted.
(leaveContext)
sshReadMessage:
(leaveContext)
Error reading userauth response.
userAuthResponse: Socket operation timeout.
(leaveContext)
Failed.
(leaveContext)
Debug Log, peer-to-peer SSH 1.99 OpenSSH 4.3
Connect_Ssh:
DllDate: Oct 29 2015
ChilkatVersion: 9.5.0.54
UnlockPrefix: COPTECSSH
Username: VS2012:mark
Architecture: Little Endian; 32-bit
Language: .NET 4.5
VerboseLogging: 0
hostname: 192.168.1.202
port: 22
sshConnect:
connectSocket:
connect_ipv6_or_ipv4:
getAddressInfo:
(leaveContext)
(leaveContext)
(leaveContext)
Established TCP/IP connection with SSH server
clientIdentifier: SSH-2.0-PuTTY_Release_0.63
Sending client identifier...
Done sending client identifier.
Reading server version...
initialDataFromSshServer: SSH-1.99-OpenSSH_4.3
serverVersion: SSH-1.99-OpenSSH_4.3
KeyExchangeAlgs:
algorithm: diffie-hellman-group-exchange-sha1
algorithm: diffie-hellman-group14-sha1
algorithm: diffie-hellman-group1-sha1
(leaveContext)
HostKeyAlgs:
algorithm: ssh-rsa
algorithm: ssh-dss
(leaveContext)
EncCS:
algorithm: aes128-cbc
algorithm: 3des-cbc
algorithm: blowfish-cbc
algorithm: cast128-cbc
algorithm: arcfour128
algorithm: arcfour256
algorithm: arcfour
algorithm: aes192-cbc
algorithm: aes256-cbc
algorithm: rijndael-cbc@lysator.liu.se
algorithm: aes128-ctr
algorithm: aes192-ctr
algorithm: aes256-ctr
(leaveContext)
EncSC:
algorithm: aes128-cbc
algorithm: 3des-cbc
algorithm: blowfish-cbc
algorithm: cast128-cbc
algorithm: arcfour128
algorithm: arcfour256
algorithm: arcfour
algorithm: aes192-cbc
algorithm: aes256-cbc
algorithm: rijndael-cbc@lysator.liu.se
algorithm: aes128-ctr
algorithm: aes192-ctr
algorithm: aes256-ctr
(leaveContext)
MacCS:
algorithm: hmac-md5
algorithm: hmac-sha1
algorithm: hmac-ripemd160
algorithm: hmac-ripemd160@openssh.com
algorithm: hmac-sha1-96
algorithm: hmac-md5-96
(leaveContext)
MacSC:
algorithm: hmac-md5
algorithm: hmac-sha1
algorithm: hmac-ripemd160
algorithm: hmac-ripemd160@openssh.com
algorithm: hmac-sha1-96
algorithm: hmac-md5-96
(leaveContext)
CompCS:
algorithm: none
algorithm: zlib@openssh.com
(leaveContext)
CompSC:
algorithm: none
algorithm: zlib@openssh.com
(leaveContext)
LangCS:
(leaveContext)
LangSC:
(leaveContext)
ChosenIncomingEncryption: aes256-ctr
ChosenOutgoingEncryptoin: aes256-ctr
ChosenIncomingMac: hmac-sha1
ChosenOutgoingMac: hmac-sha1
ChosenIncomingCompression: zlib@openssh.com
ChosenOutgoingCompression: zlib@openssh.com
ChosenKexAlgorithm: diffie-hellman-group-exchange-sha1
ChosenHostKeyAlgorithm: ssh-dss
Received GEX Group.
sendDhInit:
(leaveContext)
Using SHA-1 for Key Exchange Hash
DSS host key parsed successfully.
dsaSigValid: 1
Sending newkeys to server...
Expecting newkeys from server...
SSH Key Exchange Success.
Delay compression until after USERAUTH_SUCCESS
No outgoing compression.
No incoming compression.
Outgoing encryption is now AES 256 CTR
outgoingMac: SHA1
(leaveContext)
socketOptions:
SO_SNDBUF: 262144
SO_RCVBUF: 4194304
TCP_NODELAY: 1
SO_KEEPALIVE: 0
(leaveContext)
Success.
(leaveContext)
AuthenticatePw:
DllDate: Oct 29 2015
ChilkatVersion: 9.5.0.54
UnlockPrefix: COPTECSSH
Username: VS2012:mark
Architecture: Little Endian; 32-bit
Language: .NET 4.5
VerboseLogging: 0
SshVersion: SSH-1.99-OpenSSH_4.3
sshAuthenticatePw:
requestUserAuthService:
sendServiceRequest:
svcName: ssh-userauth
SentServiceReq: ssh-userauth
(leaveContext)
sshReadMessage:
mType: SERVICE_ACCEPT
(leaveContext)
ssh-userauth service accepted.
(leaveContext)
sshReadMessage:
mType: USERAUTH_FAILURE
(leaveContext)
AuthMethods: publickey,password,keyboard-interactive
passwordAuth:
Sent login/password
sshReadMessage:
mType: USERAUTH_SUCCESS
(leaveContext)
Password authentication successful.
(leaveContext)
(leaveContext)
Success.
(leaveContext)
Try this new build:
http://www.chilkatsoft.com/download/preRelease/ChilkatDotNet45-9.5.0-win32.zip
Also, turn on verbose logging (by setting the sftp.VerboseLogging property = true), and post the verbose LastErrorText for the failed method call.
As a result of looking through the verbose logging, it was possible to see that authentication was timing out. Increasing the IdleTimeout value allowed the login to work as expected. Thanks to Chilkat for the new DLL and tracking down the root cause of this problem.