SSH簡介
SSH 為 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定,為建立在應用層基礎上的安全協議。通過對密碼進行加密傳輸驗證,可在不安全的網絡中對網絡服務提供安全的傳輸環境,實現ssh客戶端和ssh服務器端的連接。在Linux類的設備或相關設置中,要實現修改網絡、遠程控制之類的操作,幾乎都會涉及到SSH操作。
OpenSSH 是 SSH (Secure SHell) 協議的免費開源實現,提供了服務端后臺程序和客戶端工具,用來加密遠程控制和文件傳輸過程中的數據。
開發板SSH服務移植
openssh依賴于zlib庫和openssl庫,所以安裝openssh需要安裝編譯三個組件,分別為zlib、openssl和openssh。
#下載地址
zlib:http://www.zlib.net/
openssl:https://www.openssl.org/source/
openssh:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
zlib編譯
1.下載zlib庫
wget http://www.zlib.net/zlib-1.2.12.tar.gz2.解壓zlib庫
tar -zxf zlib-1.2.12.tar.gz3.編譯zlib
首先新建一個文件夾來存放編譯結果
mkdir zlib進入zlib源碼目錄,配置編譯器選項,例如:
export CC=arm-linux-gnueabihf-gccexport LD=arm-linux-gnueabihf-ldexport AD=arm-linux-gnueabihf-as配置編譯路徑
./configure --prefix=/home/qiyang/imx6ull/openssh/zlib此時生成一個Makefile文件,我們需要修改Makefile指定與路徑無關,在如圖所示位置添加-fPIC

最后執行make && make install命令,進行編譯安裝;并將編譯出來的結果拷貝到開發板的/lib目錄下。
openssl編譯
1.下載openssl
wget https://www.openssl.org/source/openssl-3.0.2.tar.gz2.解壓openssl庫
tar -zxf openssl-3.0.2.tar.gz3.編譯openssl
首先建立一個文件夾存放編譯結果
mkdir openssl配置編譯器
export CROSS_COMPILE=arm-linux-gnueabihf-配置編譯路徑
./Configure linux-armv4 shared no-asm --prefix=/home/qiyang/imx6ull/openssh/openssl最后執行make && make install命令,進行編譯安裝;并將編譯出來的結果拷貝到開發板的/lib目錄下。
openssh編譯
1.下載openssh
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz2.解壓
tar -zxf openssh-8.9.tar.gz3.編譯openssh
配置
./configure --host=arm-linux-gnueabihf --with-libs --with-zlib=/home/qiyang/imx6ull/openssh/zlib --with-ssl-dir=/home/qiyang/imx6ull/openssh/openssl --disable-etcdefault-login CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar最后make,配置編譯器和zlib、openssl庫的目錄。
4.安裝
首先在開發板上創建以下目錄
mkdir -p /usr/local/binmkdir -p /usr/local/sbinmkdir -p /usr/local/libexec/mkdir -p /usr/local/etcmkdir -p /var/runmkdir -p /var/empty/將編譯完成的文件分別復制到開發板目錄下。
將scp、sftp、ssh、ssh-add、ssh-agent、ssh-keygen、ssh-keyscan復制到/usr/local/bin目錄下;
將sshd復制到/usr/local/sbin目錄下;
將moduli、ssh_config、sshd_config復制到/usr/local/etc目錄下;
將sftp-server、ssh-keysign復制到 /usr/local/libexec目錄下;
5.修改passwd
在/etc/passwd 中添加下面這一行
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin6.生成密鑰
在/usr/local/etc/目錄下,使用如下命令生成密鑰
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""ssh-keygen -t dsa -f ssh_host_dsa_key -N ""ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ""需要給ssh和sshd添加可執行權限,
ssh在root/usr/local/bin目錄下
chmod +x ssh
sshd在/usr/local/sbin/目錄下
chmod +x sshd
7.修改/usr/local/etc/sshd_config文件內容
1.將PasswordAuthentication yes前的注釋#去掉;
2.將#PermitRootLogin yes前的注釋#去掉;
3.將#PermitEmptyPasswords no 修改為PermitEmptyPasswords yes
8.開啟ssh服務

如上所示執行即可開啟sshd服務,使用ps命令可以看到該進程在運行

通過上述操作,openssh服務已經在開發板上移植好了,此時使用電腦上的ssh工具就可以連接到開發板了。

-
開發板
+關注
關注
26文章
6289瀏覽量
118049
發布評論請先 登錄
采用XIAO MG24開發板的手套動作控制電動滑板設計
探索FRDM - IMX8MPLUS開發板:開啟嵌入式開發新旅程
ESP32-P4全功能開發板和ESP32-P4-TINY開發板該怎么選?看這篇就夠了!
將經典射擊游戲移植到芯科科技MG24 Matter開發板
如何移植EtherCAT Igh--基于米爾RK3576開發板
【精選資料】開發板測評大賽作品合集!
RK3506開發板Linux開發板極致性價比之選
【Banana Pi BPI-RV2開發板試用體驗】移植lrzsz以便從串口和ssh導入導出文件
【Banana Pi BPI-RV2開發板試用體驗】開發環境搭建
有ARM,NPU,FPGA三種核心的開發板 — 米爾安路飛龍派開發板
【新品】遠距離圖傳數傳模塊開發板、藍牙模塊開發板、無線模塊開發板
【免費試用】開發板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發板等你試用~
貝啟BQ3568HM 開發板被選用為 OpenHarmony 明星開發板
開發板openssh移植步驟
評論