SSH

Robert Withers reefedjib at yahoo.com
Tue Oct 2 01:34:14 UTC 2007


I've finished a rough first version of SSH in squeak.  There are many  
holes, but it will connect to a remote server, login and run a pty  
with a shell.  As a SSHD server, there is no users to login with and  
there is no terminal server or shell command - see code in PS to  
run.  There are issues with TeletypeWindow refreshing when data  
arrives, which I don't know how to solve.  I click on the window to  
refresh it.  Perhaps someone else could figure this out.

Once you have loaded the packages specified below, you can run the  
following command to connect a pty to a remote machine:

	SSH runBy: username to: host port: 22.

specifying the appropriate username and host.  This will open a  
TeletypeWindow and start connection to the server.

To get this software, load the following packages, in order:

 From SqueakMap:
	Telnet
	Cryptography Team Package
NOTE: Telnet doesn't load from SqueakMap, so you will need to  
download it and file it in from he FileList.

Then from the Monticello repository at: http://squeaksource.com/ 
Cryptography
	SSL
	SSH

Here are some of the shortcomings:
At the transport layer:
	Only supports 3des-cbc and diffieHellman group 1
At the UserAuth layer:
	Only supports keyboard-interactive type of login.  Does not support  
publickey login.
At the Connection layer:
	Many messages not supported.  Only pty and shell commands issued.   
Data window sizing not used or supported.  X11 forwarding not  
supported.  Etc.

enjoy,
Rob


PS, to run SSH as a server, run the following code.  There is work to  
be done here:

SSHServer new
	loadDSACertificateFile: 'certificates/dsa.cert' privateKeyFile:  
'certificates/dsa.key';
	startAtPort: 5222.




More information about the Squeak-dev mailing list