TQ2440開發板open ssh移植

 移植open ssh到TQ2440開發板上,從網上查找了資料,結合自己的實踐整理了下面的文章


1. 下載需要的源碼:
openssh-6.2p2.tar.gz

openssl-1.0.1e.tar.gz

zlib-1.2.8.tar.tar  
2.  編譯:

在/work目錄下創建ssh目錄

# mkdir /work/lib            ----〉共享庫目錄,通過nfs掛載
# mkdir /work/ssh           -----〉工作目錄
# cd  /work/ssh
# mkdir compressed -----〉compressed 用於存放源碼包
# mkdir install 軟件安裝目錄
 # mkdir source源碼包解壓目錄
#mv /work/openssh-6.2p2.tar.gz  /work/ssh/compressed
#mv /work/openssl-1.0.1e.tar.gz  /work/ssh/compressed
#mv /work/zlib-1.2.8.tar.tar        /work/ssh/compressed

(1) 編譯zlib:

# cd /work/ssh/compressed/
# tar xvf zlib-1.2.8.tar.tar  -C  ../source
# cd ../source/zlib-1.2.8
# ./configure --prefix=/work/ssh/install/zlib-1.2.8
# vim Makefile
CC=arm-linux-gcc

AR=arm-linux-ar
CPP =arm-linux-gcc -E
LDSHARED=arm-linux-gcc

# make
# make install

(2)  編譯openssl:
# cd /work/ssh/compressed/
# tar zxvf openssl-1.0.1e.tar.gz  -C  ../source
# cd ../source/openssl-1.0.1e
# ./Configure --prefix=/work/ssh/install/openssl-1.0.1e  os/compiler:arm-linux-gcc

# make
# make install

(3) 編譯openssh:

# cd /work/ssh/compressed
# tar zxvf openssh-6.2p2.tar.gz  –C ../source
# cd ../source/ openssh-6.2p2
#./configure --host=arm-linux --with-libs --with-zlib=/work/ssh/install/zlib-1.2.8 --with-ssl-dir=/work/ssh/install/openssl-1.0.1e --disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar

#make

注意:openssh不需要make install


3. 安裝

3.1 從pc機上拷貝以下文件到目標板上;

(1) 將 openssh-6.2p2目錄下的 sshd 拷貝到 目標板的/usr/sbin目錄下,

(2)再copy scp  sftp  ssh  ssh-add  ssh-agent  ssh-keygen  

ssh-keyscan  到目標板/usr/local/bin目錄下

(3)copy sftp-server  ssh-keysign    到/usr/local/libexec
(4) 在目標板下:
      mkdir -p /usr/local/etc/ 
       然後將openssh下的sshd_config,ssh_config 拷貝到該目錄下

       mkdir -p /var/run; mkdir -p /var/empty/sshd
       chmod 755 /var/empty    

(5)生成key文件:

在目標板上,進入/usr/local/etc/目錄,執行以下命令:
         ../bin/ssh-keygen -t rsa1 -f ssh_host_key -N ""
         ../bin/ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
         ../bin/ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
  (6) 添加用戶:
    將主機上 /etc/目下的 passwd, shadow, group 三個文件copy到目標板的 /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.測試
     目標板啓動sshd:  # /usr/sbin/sshd
     主機上進行連接: $  ssh -v [email protected](目標板的ip),輸入root賬戶的密碼連接即可。

------------------------------------------------

5、下面的內容先備份還需要修改驗證
下邊進行免密碼登錄設置:
cp(主機) root/.ssh/id_dsa.pub 到 (開發板)/.ssh/authorized_keys


---------------------------------------------------
如何讓板子開機以後自動啓動sshd服務:

添加:/etc/rc.d/init.d/sshd

#!/bin/sh                                                                      
                                                                               
base=sshd                                                                      
                                                                               
# See how we were called.                                                      
case "$1" in                                                                   
  start)                                                                       
                /sbin/$base                                                    
        ;;                                                                     
  stop)                                                                        
        pid=`/bin/pidof $base`                                                 
        if [ -n "$pid" ]; then                                                 
                kill -9 $pid                                                   
        fi                                                                     
        ;;                                                                     
esac                 

在更改/etc/init.d/rcS,添加:

mkdir -p /var/empty/sshd
/etc/rc.d/init.d/sshd start

然後重啓機器,一切OK!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章