ssh移植 8168

1、下載下面3個文件

  openssh-4.6p1.tar.gz

    http://www.openssh.com/portable.html

    openssl-0.9.8e.tar.gz

    http://www.openssl.org/source

    zlib-1.2.3.tar.gz

    http://www.zlib.net/

2、交叉編譯

⑴     cd zlib-1.2.3/
     ./configure --prefix=./
    修改Makefile:
       CC=gcc 改爲: 
       CROSS=/opt/cgt_a8/arm-2009q1/bin/arm-none-linux-gnueabi-
       CC=$(CROSS)gcc 
       LDSHARED=gcc 改爲: LDSHARED=$(CROSS)gcc
       CPP=gcc -E   改爲:  CPP=$(CROSS)gcc -E
       AR=ar rc     改爲: AR=$(CROSS)ar rc

make

make insall

⑵編譯openssl

tar zxvf openssl-0.9.8d.tar.gz

./Configure --prefix=/home/openssl-0.9.8d os/compiler:/opt/cgt_a8/arm-2009q1/bin/arm-none-linux-gnueabi-gcc

make

make install

⑶編譯openssh

cd openssh-4.6p1

./configure --host=arm-linux --with-libs --with-zlib=/opt/zlib-1.2.3/ --with-ssl-dir=/home/openssl-0.9.8d --disable-etc-default-login CC=/opt/cgt_a8/arm-2009q1/bin/arm-none-linux-gnueabi-gcc AR=/opt/cgt_a8/arm-2009q1/bin/arm-none-linux-gnueabi-ar

make

3. 安裝 

(1) 將 openssh-4.6p1目錄下的 sshd 拷貝到 目標板的/usr/sbin目錄下 
(2) 再copy scp sftp  ssh ssh-add  ssh-agent  ssh-keygen  ssh-keyscan  到目標板/usr/local/bin 目錄下
copy 
sftp-server  ssh-keysign 到/usr/local/libexec

(3) 在目標板下: 下面操作一定要在開發板上運行
mkdir -p /usr/local/etc/ 
然後將openssh下的sshd_config , ssh_config 拷貝到該目錄下 

mkdir -p /var/run; mkdir -p /var/empty/sshd 
chmod 755 /var/empty 
(4)在主機上: 
ssh-keygen -t rsa1 -f ssh_host_key -N ""
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N “” 
生成的 ssh_host_* 6個文件copy到目標板的 /usr/local/etc/目錄下, 

-rw-------    1 root     root          668 Apr 11 11:04 ssh_host_dsa_key
-rw-r--r--    1 root     root          600 Apr 11 11:04 ssh_host_dsa_key.pub
-rw-------    1 root     root          973 Apr 11 11:04 ssh_host_key
-rw-r--r--    1 root     root          637 Apr 11 11:04 ssh_host_key.pub
-rw-------    1 root     root         1675 Apr 11 11:04 ssh_host_rsa_key
-rw-r--r--    1 root     root          392 Apr 11 11:04 ssh_host_rsa_key.pub

注意上面六個文件的可執行權限,一定要這上面的權限,如果不是,請用chmod修改。


啓動:執行/usr/sbin/sshd

如果出現類似Could not load host key: /usr/local/etc/ssh_host_dsa_key錯誤,可能原因是文件權限問題,或者生成這幾個文件沒有成功,可以重新執行上面的⑷點,重新將文件拷貝到目標板的/usr/local/etc/目錄下。


如果出現://Privilege separation user sshd does not exist 

就在/etc/passwd 中添加下面這一行

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin





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