问题
I'm working on a qnx device, and I want to be able to ssh into it. Does anyone have a primer on getting something like openSSH up and running?
回答1:
Depending on whether it's 6.2, 6.3 or 6.4 you will actually go about it in a different manner.
6.2 has "Installer" or "Install Software from QNX" in Photon, a GUI program that lets you download and install it kind of like Fedora's Pup, YaST or the likes. The command-line equivalent is cl-installer.
6.3 does not have the 6.2 package filesystem, but supports it if needed. On 6.3, the easiest way would be to get the 6.2's package from http://download.qnx.com/contrib/repository621a/ , unpack it (it's just a tarball) - you should be able to figure out which file goes where.
6.4 has support for pkgsrc which would be my preferred way of doing it there.
回答2:
If you want to start a SSH server to transfer files easily. The SSH daemon (sshd) is already installed, but the 'configuration' is missing.
Create the keys (do NOT use a password):¹
random -t ssh-keygen -t rsa -f /etc/ssh/ssh_host_key -b 1024 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
Create a user account different from root with a password.²
- Add the user to the sshd group in:
/etc/group
=>sshd:x:6:user1
- Start by executing:
/usr/sbin/sshd
For QNX 6.6.0, you have to do in addition:
Create another key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
(The ECDSA key generation is only necessary for QNX 6.6.0 - see also here)
Create folders accordingly to fit this path
/var/chroot/sshd/
If you want to use SFTP:
- Create/Use the file
/etc/ssh/sshd_config
and enableSubsystem sftp /usr/libexec/sftp-server
by adding this line to the file
Some steps are also covered here on the QNX manual about sshd command.
¹ Here: the folder ssh/
was created in /etc/
and make sure the files belong to the user running the sshd!
² (i.e. direct root access via ssh is disabled by default but can be enabled by specifying PermitRootLogin yes
in the /etc/ssh/sshd_config
) file
回答3:
QNX have removed support for packages since version 6.4. This means that it is difficult to install SSH and SSL from the 3rd Party Applications CD, because the utilities required arent there anymore.
It turns out their qpk file package is really just a tgz in disguise. So what you can do is untar the openssl and openssh packages. It will create a file structure like public/core-//opt All you need to do is copy all of the contents from /opt to /, and then add /opt/bin:/opt/sbin to your path, and /opt/lib to your LD_LIBRARY_PATH.
Other things to note are:
- your random number generator needs to be started (random -t)
- you will need to set up a new /etc/openssh/sshd_config if you want to use the server, I copied mine from a Ubuntu machine
- You will need to generate keys, there is lots of information on doing this online
From what I have read, QNX 6.4.1 should come pre-installed with ssh. I am yet to confirm this
回答4:
On a stock 6.5, 6.5.0SP1 or 6.6 system all you need to do is create your keys:
ssh-keygen -tdsa -f/etc/ssh/ssh_host_dsa_key
ssh-keygen -trsa -f/etc/ssh/ssh_host_rsa_key
Then start the sshd server (you need to specify the full path):
/usr/sbin/sshd
If something isn't working start the server with debug output enabled and the problem should become obvious:
/usr/sbin/sshd -ddd
回答5:
According to this you should be able to install it from the 3rd Party CD Rom, also available here: 3rd Party Apps. This requires the use of the qnxinstall app.
回答6:
Open Source Applications for QNX provides ported open source tools/applications including their complete sources and/or ready to use binaries for QNX, like XFree86, Lesstif, DDD, VNC, Nedit and cluster middleware like PVM.
I have no idea what that means, but I hope it gives you something to start with.
回答7:
FYI - you can start telnet with "inetd" which gets you on, and gets ftp started so you can then move the ssh libs on etc.
来源:https://stackoverflow.com/questions/150737/how-do-you-install-an-ssh-server-on-qnx