OpenSSH 工具
OpenSSH 简介
OpenSSH 是一款实现了 SSH(Secure Shell)协议的免费开源软件套件,主要用于在不安全网络环境下提供安全的远程登录和文件传输服务。SSH协议设计用于替代传统的不安全网络服务,如 Telnet(用于远程登录)、FTP(文件传输协议)及 rlogin、rsh 等工具,这些传统服务在数据传输时容易受到窃听和篡改。
OpenSSH 包含两部分主要组件:
- 服务器端(sshd):运行在需要被远程访问的计算机上,监听并接受来自客户端的安全连接请求,确保只有经过身份验证和加密的数据才能通过连接。
- 客户端(ssh):运行在本地计算机上,允许用户安全地登录远程服务器、执行命令、传输文件以及其他多种操作,例如使用 sftp 进行安全文件传输,或者 ssh-keygen 工具生成和管理密钥对以实现无密码登录。
OpenSSH 支持强大的加密算法,采用密钥交换、身份认证和数据加密机制,有效防止了诸如中间人攻击、嗅探密码和会话劫持等网络安全威胁。它是现代网络管理和运维中不可或缺的工具之一。
OpenSSH 移植
目前,已将 OpenSSH 库移植到了 SylixOS 下,并可以使用 RealEvo-IDE 编译。编译后在 Debug 目录下会生成 libssh/.so 、ssh、sshd以及ssh-keygen 等文件。
OpenSSH 验证
打开 RealEvo-IDE,选中 openssh 组件,该组件还依赖 zlib、openssl等组件。
编译生成的组件源码,编译后在 Debug 目录下会生成 libssh/.so 、ssh、sshd以及ssh-keygen 等文件。
一键部署。将编译生成的文件批量部署到板卡上。
运行 ssh-keygen 工具在 /root/.ssh/ 目录下生成 公钥和私钥对。
执行ssh-keygen -A 命令,它的作用是在 /etc/ssh 生成所有类型的 SSH 主机密钥对。
执行cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys,这条命令的作用是在 SylixOS 系统中设置 SSH 免密登录的一个步骤。
/root/.ssh/id_rsa.pub
:这是 SSH 公钥文件,它是通过运行ssh-keygen
命令生成的一对密钥中的一个。公钥可以安全地分发给其他系统,并且允许持有相应私钥的用户无须输入密码即可登录到远程主机。/root/.ssh/authorized_keys
:这是一个存储在远程服务器上的特殊文件,其中包含了被授权无密码登录到此账户(这里是 root 用户)的所有公钥。当 SSH 服务器接收到一个连接请求时,它会检查authorized_keys
文件中是否存在发起请求一方对应的公钥。
设置 /usr/sbin/sshd 服务到开机启动脚本 /etc/startup.sh 中。
在 PC 端打开串口工具 Putty,Host Name 填写板卡 IP 地址。
密码登录:填写用户名 root,密码root,即可在 PC 端通过 SSH 协议远程登录 SylixOS 服务器。
密钥登录:打开Git Bash命令行界面,输入 ssh -i id_rsa root@10.4.120.135,即可通过私钥文件实现免密登录。