日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

嵌入式linux移植ssh,将SSH移植到arm soc上

發布時間:2025/3/15 linux 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式linux移植ssh,将SSH移植到arm soc上 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

由于用的SOC沒有內置ssh,產品投放市場之后可能會有安全隱患,因此決定自己移植ssh,參考了網上的博文,將過程記錄如下

參考的博文:http://blog.csdn.net/ctbinzi/article/details/5929800

要下載的源碼包

openssl-1.0.2g.tar.gz????http://www.openssl.org/source/

openssh-7.2p2.tar.gz????http://www.openssh.com/portable.html#ftp

zlib-1.2.8.tar.gz????http://www.zlib.net/

2. 交叉編譯

我在編譯服務器上我的工作目錄(/home/jack/work)下新建目錄ssh,進入ssh,新建目錄compressed、install、source。

將下載好的源碼包拷貝至compressed目錄下

a. 編譯zlib

cd?/home/jack/work/ssh/compressed

tar?-zxvf?zlib-1.2.8.tar.gz?-C?../source/

cd?../source/zlib-1.2.8

./configure?--prefix=/home/jack/work/ssh/install/zlib-1.2.8

vim?Makefile

CC=arm-none-linux-gnueabi-gcc

AR=arm-none-linux-gnueabi-ar

CPP?=arm-none-linux-gnueabi-gcc?-E

LDSHARED=arm-none-linux-gnueabi-gcc

make

make?install

b. 編譯openssl

cd?/home/jack/work/ssh/compressed

tar?-zxvf?openssl-1.0.2g.tar.gz?-C?../source/

cd?../source/openssl-1.0.2g

./Configure?--prefix=/home/jack/work/ssh/install/openssl-1.0.2g??os/compiler:arm-none-linux-gnueabi-gcc

make

make?install

c. 編譯openssh

cd?/home/jack/work/ssh/compressed

tar?-zxvf?openssh-7.2p2.tar.gz?-C?../source/

cd?../source/openssh-7.2p2

./configure?--host=arm-none-linux-gnueabi?--with-libs?--with-zlib=/home/jack/work/ssh/install/zlib-1.2.3?--with-ssl-dir=/home/jack/work/ssh/install/openssl-1.0.2g?--disable-etc-default-login?CC=arm-none-linux-gnueabi-gcc?AR=arm-none-linux-gnueabi-ar

make

3. 目標板文件系統設置

a. 在目標板上創建以下目錄:

/usr/local/bin/

/usr/local/sbin/

/usr/local/etc/

/usr/local/libexec/

/var/run/

/var/empty/

b. 將編譯服務器上的文件拷貝到目標板對應文件夾下:

進入/home/jack/work/ssh/source/openssh-7.2p2下,將scp ?sftp ?ssh ?ssh-add ?ssh-agent ?ssh-keygen ?ssh-keyscan拷貝至目標板的/usr/local/bin下;將moduli ssh_config sshd_config拷貝至目標板的/usr.local/etc下;將sftp-server ?ssh-keysign 拷貝至目標板的 /usr/local/libexec目錄下;將sshd 拷貝至目標板的/usr/local/sbin/目錄下。記得修改可執行權限。

進入/home/jack/work/ssh/source/zlib-1.2.8下,將libz.so.1.2.8拷貝至目標板的/lib/目錄下,并創建軟連接

ln?-s?libz.so.1.2.8?libz.so.1

c. 生成key文件

cd?/usr/local/etc/

../bin/ssh-keygen?-t?rsa?-f?ssh_host_rsa_key?-N?""

../bin/ssh-keygen?-t?dsa?-f?ssh_host_dsa_key?-N?""

../bin/ssh-keygen?-t?ecdsa?-f?ssh_host_ecdsa_key?-N?""

../bin/ssh-keygen?-t?ed25519?-f?ssh_host_ed25519_key?-N?""

d. 添加用戶

如果編譯服務器上有ssh服務,那么將主機上 /etc/目下的 passwd, shadow, group 三個文件拷貝到目標板的 /etc目錄下, 同時記得將passwd的最后 /bin/bash 該為 /bin/sh 。

如果沒有,那么就手動建立。

在目標板的passwd中添加sshd用戶:

sshd:x:110:65534::/var/run/sshd:/usr/sbin/nologin

在shadow中也添加對應的項:

sshd:!:14069:0:99999:7:::

4. 測試

/usr/local/sbin/sshd

在終端下執行

ssh?root@202.0.0.145

輸入root密碼即可登錄了。

總結

以上是生活随笔為你收集整理的嵌入式linux移植ssh,将SSH移植到arm soc上的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。