SSH2DOS v0.2.1+SHA256.1 patch by Antti Takala https://github.com/AnttiTakala/SSH2DOS Released on 04-14-2021 The aim was to update the ciphers and protocols to more 2021 standards so the programs would be usable with current ssh servers without the need to change the server configuration to allow less secure connection methods. Changes to original: diffie-hellman-group1-sha1 -> diffie-hellman-group14-sha256 aes128-cbc -> aes128-ctr hmac-sha1 -> hmac-sha2-256 Implementations for these have been copied from putty-0.70 source. The latest version was not used because this version was the last one compatible with the originally copied parts from earlier putty version. Only tested the ssh and scp clients with password based authentication. Note that the random number generator used in the program is not cryptographically secure at all. There may also be other security issues so USE AT YOUR OWN RISK. Original readme follows: SSH2DOS v0.2.1 Copyright (c) 2000-2006 Nagy Daniel Release date: 04-23-2006 COPYRIGHT ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SSH2DOS Copyright (c) 2000-2006 Nagy Daniel This program is distributed under the terms of the GNU General Public License. Please read the copying file for details. Portions: WATT-32 library (which is based on the WATTCP library) Copyright (c) 1990, 1991, 1992, 1993 Erick Engelke Portions Copyright (c) 1993 Quentin Smart Portions Copyright (c) 1991 University of Waterloo Portions Copyright (c) 1990 National Center for Supercomputer Applications Portions Copyright (c) 1990 Clarkson University Portions Copyright (c) 1983, 1986, Imagen Corporation http://www.wattcp.com http://www.bgnett.no/~giva ZLIB library Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler http://www.gzip.org PuTTY Copyright (c) 1997-2002 Simon Tatham PuTTY is distributed under the terms of the MIT licence. http://www.chiark.greenend.org.uk/~sgtatham/putty/ CVT100 Copyright (c) 1988 Jerry Joplin (CVT100) Portions copyright (c) 1981, 1988 Trustees of Columbia University in the City of New York Permission is granted to any individual or institution to use, copy, or redistribute this program and documentation as long as it is not sold for profit and as long as the Columbia copyright notice is retained. http://www.simtel.net/pub/simtelnet/msdos/commprog/cvt100.zip INTRODUCTION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SSH2DOS (SSH2D386) is an SSH client which provides a telnet-like interactive login shell to remote hosts. It can be used to run commands on remote hosts as well. SFTPDOS (SFTP386) and SCPDOS (SCP2D386) are secure file transfer utilities capable of transferring files from remote to local or from local to remote machines. TELNET (TEL386) is the good old telnet utility. These programs can run on low-end machines (8086+) when compiled as real-mode applications (OpenWatcom large model), so it's an ideal solution to connect from el-cheapo machines or DOS compatible PDAs. The 386 version (OpenWatcom flat model) is much faster, but it requires at least a 386 machine. Supported cipher: AES Implemented SSH protocol version: 2.0 Supported authentication methods: keyboard-interactive, public key and password All utilities support SOCKS5 and HTTP proxies with user authentication support. This is handy if you're behind a firewall. SSH2DOS is based on the WATT-32 TCP/IP library, Putty SSH client for Windows, the ZLIB compression library and the CVT100 terminal emulation package. INSTALLATION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Unzip the package with subdirectory support (pkunzip -d). If you have the binary package, no installation is needed. Edit the wattcp.cfg and hosts file first, then install a packet driver, or set up your PPP connection if you have a modem. To compile the sources, you'll also need the WATT-32 and ZLIB sources. To build the binaries, build ZLIB and WATT-32 first. Be sure, that the WATT_ROOT environment variable points to the proper WATT-32 source directory. Copy zlib_f.lib or zlib_l.lib (depending on your target) to the lib\ directory under the ssh2dos source tree. Now run 'make -f filename', where 'filename' is needed makefile: watcom_l.mak - OpenWatcom real mode target (for 8086 machines) watcom_f.mak - OpenWatcom protected mode target (for 80386 machines) Tested compilers: - OpenWatcom 1.x DOCUMENTATION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To get help for SSH2DOS and SFTPDOS, please use the /? command line option. -i <identity file> Public key file for public key authentication. You can create keys with PuTTYGen or Linux ssh-keygen. -t <terminal type> This string is passed to the server as the 'TERM' environment variable. The default is 'xterm'. You can set any string here, but be sure to use a correct keymap file. For the nicest results, I recommend 'linux' with the linux keymap file, if your host supports it. -p <port number> Port to connect to at the remote host. The default SSH port is 22. -k <keymap file> Keymap file. Three sample keymap files are included in the package (for vt100/102, linux and xterm-color terminals). The 'xterm' keymap is hard-wired into SSH2DOS, so keymap files should only contain the differences from the 'xterm' keymap. -m <mode> Video mode. Valid modes are: '80x25', '80x60', '132x25' and '132x50'. A VESA VGA card is required for extended modes. -s <password> You can specify your password here. This is useful (but INSECURE) for batch files. -l <log file> Log the whole session to a file. -a <minutes> Send keepalive packets. SSH2DOS sends IGNORE packets in every 'minutes'. -b <COM> Copy all output to a Brailab PC adapter connected to the specified COM port. This adapter is useful for the visually challenged. -g Use Diffie-Hellman group1 exchange. This may be useful in case of connection problems. -P Use a non-privileged local port. -C Enable compression (for real-mode SSH2DOS, you'll need as much free conventional memory as possible). -S Suppress status line. -B Use BIOS for screen writes (no direct video access). This may help visually challenged people. -V Disable VESA BIOS. This can be useful to avoid changing to full-screen mode under WindowsXP or if you have other mode switching problems. -n Add CR if server sends only LF. Use this to prevent the 'staircase effect'. -d Save raw SSH packets to file 'debug.pkt'. -v Be more verbose at startup. During interactive session, SHIFT + PGUP/PGDOWN can be used to view the scrollback area. If the connection seems to be broken and no disconnection happens automatically, you may terminate SSH2DOS by pressing the ALT-X key combination. DOS shell can be invoked using the ALT-E key combination. To use proxy support, you must set either SOCKS_PROXY or HTTP_PROXY environment variable. The syntax is: [username:[email protected]]proxyhost[:port] The default SOCKS port is 1080, HTTP is 3128. Some examples: SOCKS5 proxy with no user authentication using default port: SOCKS_PROXY=proxy.foo.bar HTTP proxy with authentication using port 8080: HTTP_PROXY=myusername:[email protected]:8080 EXAMPLESÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Connect to a linux box: ssh2dos -t linux -k linux.kbd username hostname Connect to a host using the 386 version and compression: ssh2d386 -C username hostname Connect and run a shell script called 'scriptname': ssh2dos username hostname nohup scriptname & Connect to a host with sftp 386 version: sftp386 [email protected] Then use the 'help' command to get help. Copy a file from the remote host to local: scpdos [email protected]:path_to_remote_file local_file Create a batch file to upload to files, "file1" and "file2", to a remote directory called "test" on "remotehost". This batch file "example.txt" should look like: open [email protected] cd test put file1 put file2 bye Now use SFTP to do the actual transfer: sftpdos -b example.txt OFFICIAL SITE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The official distribution site is http://sshdos.sourceforge.net The package is available in both executable and source format. Contact: [email protected]
Fork of SSH2DOS with more up to date cipher and SHA256 support
HI. Thanks for your work on this. I find it works well with password authentication but throws errors on pub/priv key (-i option), but it is great to have a version that can do a more modern key exchange, and I wanted to say thanks.
After a full-screen program like lynx, your cursor goes missing! Only way to get it to come back (Linux) is to reset your terminal with "reset." Worse, exit to dos, and your everything is missing! Once I had to hit the up arrow(Freedos), ssh back into Linux and type reset so I could see "a:" again.
A good work around is to use the "-B" option, which appears to solve the issue completely.
Firstly, bravo! Well done!!
Secondly, have you considered using noise for dos?
Noise would solve the random number issue. That's what dos openssl/lynx uses.
Hi there! Am I doing something dumb?
ssh2d386.exe user 192.168.1.2 -p 22
I get an error "
All attempt to get a IP-address failed"
It appears SSH2DOS is trying to get an IP? My machine already had a DHCP IP before I ran SSH2DOS - and I can ping gateway and SSH server.
Happy to provide a screenshot if that helps.
Packet driver was correctly configured: 3Com Etherlink III with 3C509.exe. mTCP DHCP got an IP lease and could reach network. PC hangs when running ssh2dos in TCP/IP setup. Tried with old ssh2dos (v0.2.1) and it does the TPC/IP setup but fails connecting due to old protocols being used.