Port of OpenSSH (client)

With the removal of the unmaintained ssh_client component there is currently no SSH client available. Since accessing remote systems via a well established protocol is desirable I ported OpenSSH-portable. You can find a first teaser version—use with caution—in my (cnuke) index under Network bundled within a small POSIX subsystem also containing bash and coreutils for maintenance purposes, available for x86_64.

The port uses goa and for the moment only ssh(1) and ssh-keygen(1) were exercised. I plan on bringing it to genode-world as I feel it should be more of a community effort than a personal endeavor, while iron-out some of the current short-comings (see shortcomings below).

The configuration directory .ssh is created in the file-system labelled with home mounted at /home, where you can make all the usual adjustments. The file-system labelled rw is mounted at /rw and can be used to exchange data, like already existing private keys or regular files in the future.


Shortcomings:

  • Depending on the remote system you connect to it can be helpful to change TERM to vt100 instead of the current value of screen as for the later control-sequences that are not supported by gems/terminal might be issued.
  • Input for prompting, e.g. filename of the keyfile, is not echoed back
  • Other tools, e.g. scp(1) and sftp(1) will not work at the moment due to missing features in the libc.
3 Likes