We help IT Professionals succeed at work.

SSH / Telnet Software

Telnet is an application layer protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. SSH was designed as a replacement for Telnet and for unsecured remote shell protocols. The term telnet is also used to refer to the software that implements the client part of the protocol. SSH provides a secure channel over an unsecured network in a client-server architecture, connecting an SSH client application with an SSH server.

I wrote two C-language programs almost 15 years ago, one that uploads files to an FTP server, one that downloads files from an FTP server.  The two programs are essentially identical in that I'm calling Windows functions as follows:

1) InternetOpen - to obtain a handle to an open Internet session.
2) InternetConnect - to obtain a handle to an open FTP session.
3) FtpDeleteFile - to delete the file being transferred before transferring the new version of the file.
4) FtpPutFile/FtpGetFile - to upload/download the file to/from the FTP server.
5) InternetCloseHandle - to close the handle to the FTP session.
6) InternetCloseHandle - to close the handle to the Internet session.

These programs have been working for the past 15 years and they both have the FTP server credentials "hard-coded" so they're not multi-functional, but were designed for my specific needs.  Now the corporation that I provide my software application services to are requesting that I use SFTP rather than FTP to adhere to their enhanced security guidelines.  I've searched the Internet for information on SFTP, but I haven't found anything that really provides any real insight into what I could do to change my existing programs to work with SFTP.  

Frankly, I don't really understand what I need to do to even set up an SFTP transfer, much less automate it, which is the primary advantage with using my own programs, since I can set up a command file to transfer ALL the files I need to transfer on a …
Is there a maximum amount of data that winsock will send to a text file?  I am using a vb6 program to send data to my PC from an external race timing device and it routinely fails at about 330-350 records.  I will include a sample below.  If so, is there a way I can increase this limit?  If you need to see a sample of my code I can provide that.  It is code that I got on this site and modified to fit my needs.

Note that when I do the same thing with Putty there is no issue but I don't want to have to open Putty to do this.  I want to do it via my vb program.  (I have another post open right now on how to save the Putty output to a text file on my machine.  Either of these options would work for me...)

Sample data being streamed:
I need to log a putty session using vb6.  I am able to initiate Putty using the following:

Shell "C:\Program Files\PuTTY\putty.exe telnet:192.168.1." & sWhichBox & ":10001", vbNormalFocus

Now I need to direct the output to a specific file in a specific directory using vb6.  The location  will look like this: sPath & "trident_" & sWhichBox & ".log"

I would really appreciate any assistance I can get with this?

Thank you very much!!
I need to create a dialog in vb6 that will pass some parameters to Putty.  As I understand it, this can be done via Putty's command line capability.  Can I get some guidance on how accomplish this?  I can write the vb.  I just don't know how to pass the parameters to an external program like Putty.

Thanks in advance!
I am new to SSH and trying to connect to a remote SSH server in order to send files from an IBM i (AS400) but having troubles getting the credentials to work.

I have built the local Public and Private Keys as well as brought down the Server Public Key (ssh-keyscan) and I am confident the key information is correct.  I have also setup the authorized_keys file entries on the remote server (it is a test environment).

when I execute the following command, the connect fails even though the stderr log (attached) explicitly states the keys are found and match ( changed the user/server names to protect the innocent).

sftp -v -v -v -b /daswip/SAMPLE.TXT testabcdefgh@testserver-network.com 2>/daswip/stderr_sftp_8.txt  

In the error log, there are lines that read:

"debug1: Host 'testserver-network.com' is known and matches the RSA host key.
debug1: Found key in /home/SFTPUSR/.ssh/known_hosts:2"

But the sessions then runs something called "set_newkeys" and ultimately reports the following message and denies me permission.

"debug1: Authentications that can continue: password,keyboard-interactive
debug3: start over, passed a different list password,keyboard-interactive
debug3: preferred publickey
debug1: No more authentication methods to try.
Permission denied (password,keyboard-interactive)."

I can't figure out why I am unable to connect.  Any help will be appreciated.

Thank you.

When trying to connect a device through TelNet I am getting this message: ERROR: Connection is forcefully rejected.

I have never seen that before.  any ideas?
I need a utility that will transmit data from a timing box to my pc over an ethernet cable.  Is there a better solution than TelNet?  It would be nice if it came with vb6 source code so I could modify it to control the directory where it sends the data.
I am a race timer and I use a proprietary timing software.  I am migrating to a new timing system and in order to get it to work with my software I have to stream the data from the timing box to a directory on my PC using a TelNet utility.  I have one that works perfectly...except that it seems to time out or simply stop communicating at certain points for one reason or another.  I need to resolve this in order to complete my migration.  

I found a TelNet program and modified it using vb6 to interface nicely with my system.  I have the source code.  I am looking for help on finding a setting or something that is causing the failure.  Let me know what I need to provide.  If this is more than I should be asking for I am willing to pay a reasonable fee for help with this.

Thank you very much!
I have a DNS entry to host name which resolve to two or more IP address. It seems like we are getting MITM warning due to this intentional configuration. What is the way to overcome this. Should we disable StrictHostKeyChecking but that would not be a good idea. I am wondering what is the recommendations.
I remotely connect to virtual Linux box as follows:  From my windows 10 computer, I invoke WinSCP.  From WinSCP, I open puTTy terminal.  
Then, I can clone source code from servers such as GitLab and GitHub.

What protocol am I using to connect to GitLab.  Is it SSH?

From puTTy terminal, I entered following command to see if existing ssh keys are present:

$  ls -al ~/.ssh

existing ssh keys
I can connect to GitLab and clone source code but there are no ssh keys in my home directory?  How is it possible to connect to remote servers without ssh keys?
One of my ESXI servers is not responding,  however, the VM's are active.  Is there a command that I can run from SSH to restart services without interrupting the VM's or do I have to reboot the entire box? If so where do I begin?
When I reinstall Ubuntu I was going to move my SSH Keys to that machine.

They are GPG encrypted and stored on a USB Drive that is Luks encrypted.

When I reinstall Ubuntu can I just decrypt id_rsa and id_rsa.pub and move them into


Open in new window

How can we show the TOKEN value while sshing to a remote server?

from the man page of sshd_config I see belows:
     Arguments to some keywords can make use of tokens, which are expanded at runtime:

           %%    A literal `%'.
           %D    The routing domain in which the incoming connection was received.
           %F    The fingerprint of the CA key.
           %f    The fingerprint of the key or certificate.
           %h    The home directory of the user.
           %i    The key ID in the certificate.
           %K    The base64-encoded CA key.
           %k    The base64-encoded key or certificate for authentication.
           %s    The serial number of the certificate.
           %T    The type of the CA key.
           %t    The key or certificate type.
           %U    The numeric user ID of the target user.
           %u    The username.

Open in new window

and from the man page of ssh_config I find belows:

     Arguments to some keywords can make use of tokens, which are expanded at runtime:

           %%    A literal `%'.
           %C    Hash of %l%h%p%r.
           %d    Local user's home directory.
           %h    The remote hostname.
           %i    The local user ID.
           %L    The local hostname.
           %l    The local hostname, including the domain name.
           %n    The original remote hostname, as given on the command line.
           %p    The remote port.
           %r    The remote username.
           %T    The local tun(4) or tap(4) network interface assigned if tunnel forwarding was requested, or "NONE" otherwise.
           %u    The local username.

Open in new window

Basically I want them to expand to some echo command so that I can see what is the current value when I ssh to a box, both from the client side and server side. I would really appreciate if someone can direct on how to achive it.

Best Regards!
I am trying to configure that using ssh any use should be able to login to my server, with or without password ( preferable ). I played with nullok which doesn't require a user to enter the password but I have to create a user and let that user have 'empty password' I am wonder if there is any other way so that any with with empty password should be allowed to login.
We know that in private public key authentication ssh client sends its public to to ssh-server. I would like to know if there is way we can log the public key of the client in ssh log file. Or is there a way to achieve it? Any direction in this would be highly appreciated.

Best Regards.
Is there a way we can configure a cluster of ssh server? I am trying to keep 5 ssh server behind a load balancer or create a cluster out of it. then later to stateful failover if anyone of the backend goes down.

I would really appreciate on suggestion on any way to achieve it. TIA
I am trying to compile openssh from source and would like to know if there is any option which can help me to disable SOCKS support of sshd so what when client execute
ssh -D <port number> <hostname>

Open in new window

then it should not act like Dynamic proxy. Though I only want openssh to support remote forwarding on individual port but not dynamic proxy. Please let me know if there is a way.

Thank you!
I am wondering if we can configure ssh server to be configured as threaded service instead of fork server. Like when a new ssh request is received then a child thread is created instead of child process.

Thanks in advance
I would like to use ChallengeResponseAuthentication directive in sshd_config want to set it yes. Basically I want a user to say/type yes before he attempts provide his password.

I am wondering how it can be achieved.

Thanks in advance!
Basically, I want same a user to use same id and password to login to web based and ssh login both. I am wondering if there is a better way to do it. What is industry standard to solve a situation when a user can use same credential to login via ssh and web.
I am running below from my mac laptop

ssh -f -N -T -R2222:localhost:22 ec2-user@app.my_aws_host.com

Open in new window

and per my understanding when I do below below from any other ssh client then I should be connected ( ssh ) to my mac laptop

ssh ec2-user@app.my_aws_host.com -p 2222

Open in new window

But I am getting connection refused error. Appreciate any help here

P.S: port 2222 is open in my security group in AWS
I have been playing with SSH local and remote port forwarding and have a little understanding of it. I am wondering if it is same as SOCKS protocol and how using SSH dynamic port we can achieve it.

Also, I am wondering what is the use case of SOCKS when we have VPN and port forwarding.

Thanks in Advance
I have an Ubuntu server running 10.04.6 LTS.  It is providing web services.  I have setup sftp and given permission to an 'sftp' group to login but have set their root directory to be /var/www/html.  They are able to connect to the server but cannot write to the folder.  I use setfacl to give the group write permission.  If they are already logged in, they can now create folders and files.  However, once they logout, they can no longer login.   If I remove the acl, the condition reverses again.  It is not limited to acls though.  I even tried just giving 'other' write-access.  Same thing happened.

sshd_config snippet:
Match group sftp
ChrootDirectory /var/www/html
X11Forwarding no
ForceCOmmand internal-sftp

Error when trying to write:
Permission denied.
Error code: 3
Error message from server: Permission denied

Error when trying to login (from session log):
! 2019-12-11 08:23:42.538 Using username "ddinkin".
. 2019-12-11 08:23:42.569 Server offered these authentication methods: publickey,password
. 2019-12-11 08:23:42.569 Prompt (password, "SSH password", <no instructions>, "&Password: ")
. 2019-12-11 08:23:44.955 Sent password
. 2019-12-11 08:23:44.963 Access granted
. 2019-12-11 08:23:44.963 Opening session as main channel
. 2019-12-11 08:23:45.127 Network error: Software caused connection abort
* 2019-12-11 08:23:45.181 (EFatal) Network error: Software caused connection abort
* 2019-12-11 08:23:45.181 Authentication log (see session log for …
Have two Dell powerconnect 5548's set up in a stack. Recently have been unable to login and when attempting ssh, I get the following error.
Remote side sent disconnect message - type 2 (protocol error): "Connection closed by server: Server reached maximum number of simultaneous connections

Open in new window

There seems to be a command for other dell switches to clear sessions however I am not seeing anything for the 5500x series. I set a session timeout and even rebooted the switch but I am still getting this error. All line connections show as locked in the web UI however reactivating the locked line through the GUI does not do anything. Anybody more familiar with Dell switches have an idea for how to resolve this error? I can currently manage the switch by console and web ui however it would be great to get remote ssh sessions running again.
How to check if a remote ssl cert has expired using IP address  On mac terminal

SSH / Telnet Software

Telnet is an application layer protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. SSH was designed as a replacement for Telnet and for unsecured remote shell protocols. The term telnet is also used to refer to the software that implements the client part of the protocol. SSH provides a secure channel over an unsecured network in a client-server architecture, connecting an SSH client application with an SSH server.

Top Experts In
SSH / Telnet Software