SSH

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

SSH

Rob Withers
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.


Reply | Threaded
Open this post in threaded view
|

Re: SSH

Jason Johnson-5
Nice.  Good work!

On 10/2/07, Robert Withers <[hidden email]> wrote:

> 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.
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: SSH

Rob Withers
In reply to this post by Rob Withers
A few items.

First, you need a fix for BDFFontReader in order to create the Fixed  
Font for Telnet.   File this in before telnet.



Secondly, the attached changeset will fix SqueakMap when loading telnet.



Lastly, the correct repository for SSL and SSH is:
        http://squeaksource.com/Cryptography
This wrapped in the previous email.

Rob

On Oct 1, 2007, at 6:34 PM, Robert Withers wrote:

> 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.
>
>



BDFFontReader class-new.st (302 bytes) Download Attachment
SMDefaultInstaller.KLC.1.cs (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SSH

Damien Cassou-3
In reply to this post by Rob Withers
Very nice.

Could you please post SSH on the Universe? There, you can specify
dependencies overthe packages so the user will only have to load SSH.
This is easy: just read http://wiki.squeak.org/squeak/5899.

2007/10/2, Robert Withers <[hidden email]>:

> 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.
>
>
>


--
Damien Cassou

Reply | Threaded
Open this post in threaded view
|

Re: SSH

Göran Krampe
In reply to this post by Rob Withers
Hi!

> 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.

You crazy, crazy person... Marvellous! :)

regards, Göran


Reply | Threaded
Open this post in threaded view
|

Re: SSH

Rob Withers
In reply to this post by Damien Cassou-3
Damien, I tried to use the Universe Browser in Squeak 3.10-7143 and  
it did not display any packages for me.  I tried going back to 3.9-
final and the Universe Browser is not loaded in the image.  So right  
now I can't publish into the Universe.  When I am able to I will, but  
I will need the two fixes I posted to be adopted.

Rob

On Oct 1, 2007, at 11:42 PM, Damien Cassou wrote:

> Very nice.
>
> Could you please post SSH on the Universe? There, you can specify
> dependencies overthe packages so the user will only have to load SSH.
> This is easy: just read http://wiki.squeak.org/squeak/5899.
>
> 2007/10/2, Robert Withers <[hidden email]>:
>> 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.
>>
>>
>>
>
>
> --
> Damien Cassou
>


Reply | Threaded
Open this post in threaded view
|

Re: SSH

Rob Withers
In reply to this post by Göran Krampe

On Oct 2, 2007, at 1:49 AM, Göran Krampe wrote:

> Hi!
>
>> 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.
>
> You crazy, crazy person... Marvellous! :)

That's me! :)

Rob



Reply | Threaded
Open this post in threaded view
|

Re: SSH

Bryce Kampjes
Robert Withers writes:
 >
 > On Oct 2, 2007, at 1:49 AM, Göran Krampe wrote:
 >
 > > Hi!
 > >
 > >> 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.
 > >
 > > You crazy, crazy person... Marvellous! :)
 >
 > That's me! :)

Very cool. 100% Squeak, no plugins?

Bryce

Reply | Threaded
Open this post in threaded view
|

Re: SSH

Rob Withers

On Oct 2, 2007, at 1:30 PM, <[hidden email]>  
<[hidden email]> wrote:

> Robert Withers writes:
>>
>> On Oct 2, 2007, at 1:49 AM, Göran Krampe wrote:
>>
>>> Hi!
>>>
>>>> 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.
>>>
>>> You crazy, crazy person... Marvellous! :)
>>
>> That's me! :)
>
> Very cool. 100% Squeak, no plugins?

Now that Hans-Martin Mosner has added support for non-primitive DES,  
you don't have to have the DESPlugin, but it is much faster with it.  
Yes, it is 100% Squeak.  The same is true of SSL, by the way, and I  
would think it has wider usage than SSH.  Scamper needs some work,  
first.

Rob



Reply | Threaded
Open this post in threaded view
|

Re: SSH

Jason Johnson-5
And the web servers need it for https (or do they have it already?)

On 10/3/07, Robert Withers <[hidden email]> wrote:

>
> On Oct 2, 2007, at 1:30 PM, <[hidden email]>
> <[hidden email]> wrote:
>
> > Robert Withers writes:
> >>
> >> On Oct 2, 2007, at 1:49 AM, Göran Krampe wrote:
> >>
> >>> Hi!
> >>>
> >>>> 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.
> >>>
> >>> You crazy, crazy person... Marvellous! :)
> >>
> >> That's me! :)
> >
> > Very cool. 100% Squeak, no plugins?
>
> Now that Hans-Martin Mosner has added support for non-primitive DES,
> you don't have to have the DESPlugin, but it is much faster with it.
> Yes, it is 100% Squeak.  The same is true of SSL, by the way, and I
> would think it has wider usage than SSH.  Scamper needs some work,
> first.
>
> Rob
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: SSH

Damien Cassou-3
In reply to this post by Rob Withers
2007/10/2, Robert Withers <[hidden email]>:
> Damien, I tried to use the Universe Browser in Squeak 3.10-7143 and
> it did not display any packages for me.


You have to use a more recent version of Universe: load it from
http://www.squeaksource.com/universes/ or from SqueakMap.

You can also use the squeak-dev images
http://damien.cassou.free.fr/squeak-dev.html


--
Damien Cassou

Reply | Threaded
Open this post in threaded view
|

Re: SSH

Rob Withers
In reply to this post by Jason Johnson-5
I believe various web servers that provide access over https are  
using an external package to provide it to them, such as stunnel.  
They could certainly switch to using Squeak's SSL, but would have to  
setup the certificates, both for the server and the root  
certificates.  This is something they need to do with stunnel anyway,  
I would imagine.

Rob

On Oct 2, 2007, at 9:57 PM, Jason Johnson wrote:

> And the web servers need it for https (or do they have it already?)
>
> On 10/3/07, Robert Withers <[hidden email]> wrote:
>>
>> On Oct 2, 2007, at 1:30 PM, <[hidden email]>
>> <[hidden email]> wrote:
>>
>>> Robert Withers writes:
>>>>
>>>> On Oct 2, 2007, at 1:49 AM, Göran Krampe wrote:
>>>>
>>>>> Hi!
>>>>>
>>>>>> 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.
>>>>>
>>>>> You crazy, crazy person... Marvellous! :)
>>>>
>>>> That's me! :)
>>>
>>> Very cool. 100% Squeak, no plugins?
>>
>> Now that Hans-Martin Mosner has added support for non-primitive DES,
>> you don't have to have the DESPlugin, but it is much faster with it.
>> Yes, it is 100% Squeak.  The same is true of SSL, by the way, and I
>> would think it has wider usage than SSH.  Scamper needs some work,
>> first.
>>
>> Rob
>>
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSH

Rob Withers
In reply to this post by Damien Cassou-3
This worked for me.  I loaded them from the Monticello repository.  I  
haven't yet tried to define the package for Crypto/SSL/SSH and I  
probably wont get to it before next week.  I am going on vacation.

Rob

On Oct 3, 2007, at 1:09 AM, Damien Cassou wrote:

> 2007/10/2, Robert Withers <[hidden email]>:
>> Damien, I tried to use the Universe Browser in Squeak 3.10-7143 and
>> it did not display any packages for me.
>
>
> You have to use a more recent version of Universe: load it from
> http://www.squeaksource.com/universes/ or from SqueakMap.
>
> You can also use the squeak-dev images
> http://damien.cassou.free.fr/squeak-dev.html
>
>
> --
> Damien Cassou
>


Reply | Threaded
Open this post in threaded view
|

Re: SSH

Lex Spoon-3
Robert Withers <[hidden email]> writes:
> This worked for me.  I loaded them from the Monticello repository.  I
> haven't yet tried to define the package for Crypto/SSL/SSH and I
> probably wont get to it before next week.  I am going on vacation.

If there is anything that can be done to make the package-posting
process easier, it would be nice to know.  As far as I can tell,
though, you open an editor, create an account, and post your package,
all using a GUI that is included right in the image.  Ideas for
improving it are always welcome, though!


Oh, and to second everyone else: ssh in Squeak -- very cool!

-Lex


Reply | Threaded
Open this post in threaded view
|

Re: SSH

Rob Withers
Thanks for the reminder, Lex.  I published the following packages to  
Universes, with dependencies, in the System category:
        Cryptography Team Package
        SSL (depends on Cryptography Team Package)
        SSH (depends on Telnet, Cryptography Team Package, SSL)
I tested this in my image successfully.  However, my image has two  
fixes applied in order to successfully load Telnet.  I posted these  
fixes in an earlier email in this thread:  1 is new and the other is  
listed somewhere in Mantis.  These need to be applied to the update  
stream to allow forward progress.

BTW, Lex, S/MIME is released in the Crypto Monticello repository and  
I am done with it.  It works with the basic email client.

Cheers,
Rob

On Oct 12, 2007, at 11:26 AM, Lex Spoon wrote:

> Robert Withers <[hidden email]> writes:
>> This worked for me.  I loaded them from the Monticello repository.  I
>> haven't yet tried to define the package for Crypto/SSL/SSH and I
>> probably wont get to it before next week.  I am going on vacation.
>
> If there is anything that can be done to make the package-posting
> process easier, it would be nice to know.  As far as I can tell,
> though, you open an editor, create an account, and post your package,
> all using a GUI that is included right in the image.  Ideas for
> improving it are always welcome, though!
>
>
> Oh, and to second everyone else: ssh in Squeak -- very cool!
>
> -Lex
>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSH

Lex Spoon-3
Robert Withers <[hidden email]> writes:

> Thanks for the reminder, Lex.  I published the following packages to
> Universes, with dependencies, in the System category:
> Cryptography Team Package
> SSL (depends on Cryptography Team Package)
> SSH (depends on Telnet, Cryptography Team Package, SSL)
> I tested this in my image successfully.  However, my image has two
> fixes applied in order to successfully load Telnet.  I posted these
> fixes in an earlier email in this thread:  1 is new and the other is
> listed somewhere in Mantis.  These need to be applied to the update
> stream to allow forward progress.

Cool!  I hope the patches on Mantis percolate up in priority before
too long.


> BTW, Lex, S/MIME is released in the Crypto Monticello repository and
> I am done with it.  It works with the basic email client.

Very nice.

To be honest, though, I do not have time to work on Celeste any more,
so it will have to be someone else.  I would love to see Celeste with
S/MIME support, though.  Crypto is only going to get more important
for email.

The most active person with Celeste nowadays is Giovanni Giorgi (jj at
objectsroot and then dot com).


-Lex