我正在使用 qnx 设备,我希望能够通过 ssh 进入它。有没有人了解如何启动和运行 openSSH 之类的东西?
8 回答
如果您想启动 SSH 服务器以轻松传输文件。SSH 守护程序 (sshd) 已安装,但缺少“配置”。
创建密钥(不要使用密码):¹
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
使用密码创建不同于 root 的用户帐户。²
- 将用户添加到 sshd 组中:
/etc/group
=>sshd:x:6:user1
- 首先执行:
/usr/sbin/sshd
对于 QNX 6.6.0,您还必须执行以下操作:
创建另一个密钥
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
(仅 QNX 6.6.0 需要 ECDSA 密钥生成 - 另见此处)
相应地创建文件夹以适应此路径
/var/chroot/sshd/
如果要使用 SFTP:
- 创建/使用文件并通过将此行添加到文件来
/etc/ssh/sshd_config
启用Subsystem sftp /usr/libexec/sftp-server
QNX 手册中有关 sshd 命令的一些步骤也在这里介绍。
¹此处:ssh/
创建文件夹/etc/
并确保文件属于运行 sshd 的用户!
² (即默认情况下禁用通过 ssh 的直接 root 访问,但可以通过在文件中指定来PermitRootLogin yes
启用/etc/ssh/sshd_config
)
QNX 自 6.4 版起已移除对软件包的支持。这意味着很难从 3rd Party Applications CD 安装 SSH 和 SSL,因为不再存在所需的实用程序。
原来他们的qpk文件包其实只是一个变相的tgz。所以你可以做的是解压 openssl 和 openssh 包。它将创建一个像 public/core-//opt 这样的文件结构你需要做的就是将所有内容从 /opt 复制到 /,然后将 /opt/bin:/opt/sbin 添加到你的路径,然后 /opt /lib 到您的 LD_LIBRARY_PATH。
其他需要注意的是:
- 您的随机数生成器需要启动(random -t)
- 如果你想使用服务器,你需要设置一个新的 /etc/openssh/sshd_config,我从 Ubuntu 机器上复制了我的
- 您将需要生成密钥,网上有很多关于这样做的信息
根据我的阅读,QNX 6.4.1 应该预装了 ssh。我还没有确认这一点
根据它是 6.2、6.3 还是 6.4,您实际上会以不同的方式进行处理。
6.2 在 Photon 中有“安装程序”或“从 QNX 安装软件”,这是一个 GUI 程序,可让您下载和安装它,类似于 Fedora 的 Pup、YaST 等。命令行等效项是 cl-installer。
6.3 没有 6.2 包文件系统,但如果需要,它支持它。在 6.3 上,最简单的方法是从http://download.qnx.com/contrib/repository621a/获取 6.2 的包,解压它(它只是一个 tarball) - 你应该能够找出哪个文件去在哪里。
6.4 支持 pkgsrc,这将是我在那里做的首选方式。
在库存 6.5、6.5.0SP1 或 6.6 系统上,您只需创建密钥:
ssh-keygen -tdsa -f/etc/ssh/ssh_host_dsa_key
ssh-keygen -trsa -f/etc/ssh/ssh_host_rsa_key
然后启动sshd 服务器(您需要指定完整路径):
/usr/sbin/sshd
如果出现问题,请在启用调试输出的情况下启动服务器,并且问题应该很明显:/usr/sbin/sshd -ddd
据此,您应该可以从 3rd Party CD ROM 安装它,也可以在此处获得:3rd Party Apps。这需要使用 qnxinstall 应用程序。
QNX 的开源应用程序 提供移植的开源工具/应用程序,包括它们的完整源代码和/或可立即使用的 QNX 二进制文件,例如 XFree86、Lesstif、DDD、VNC、Nedit 和集群中间件(例如 PVM)。
我不知道这意味着什么,但我希望它能给你一些开始。
一旦您按照 qnx 网站(单击此处)上提供的步骤操作,您需要从 sshd_config 文件(在 /etc/ssh 下)停用 PAM 模块。将“UsePAM yes”行更改为“UsePAM no”。
仅供参考 - 您可以使用“inetd”启动 telnet,它可以让您启动,并启动 ftp,这样您就可以移动 ssh 库等。