移植ssh到arm
1. 下載需要的源碼:
??? mkdir -p ~/arm/fs ;mkdir -p ~/arm/source
??? 下載zlib:? wget -c http://www.zlib.net/zlib-1.2.3.tar.gz
??? 下載ssl:? wget -c http://www.openssl.org/source/openssl-0.9.8d.tar.gz
??? 下載ssh: wget -c http://mirror.mcs.anl.gov/openssh/portable/openssh-4.6p1.tar.gz
2.? 編譯:
??? cd ~/arm/source
??? (1) 編譯zlib:
???? tar zxvf zlib-1.2.3.tar.gz -C .
???? cd zlib-1.2.3/
???? ./configure --prefix=/home/itlanger/arm/fs/zlib-1.2.3
??? 修改Makefile:
??? ??? CC=gcc 改為:?
???? ?? CROSS=/usr/local/arm/3.4.1/bin/arm-linux-
?? ?? ? CC=$(CROSS)gcc ?
??? ??? LDSHARED=gcc 改為:? LDSHARED=$(CROSS)gcc
?? ???? CPP=gcc?-E?? 改為 :?? CPP=$(CROSS)gcc?-E
?? ???? AR=ar rc???? 改為:? AR=$(CROSS)ar rc
? 開始編譯: make;
??? ?? ??? make install
??? (2)? 編譯openssl:
??? ?? tar zxvf? openssl-0.9.8d.tar.gz
??? ?? ./configure?--prefix=/home/itlanger/arm/fs/openssl-0.9.8d
???? os/compiler:/usr/local/arm/3.4.1/bin/arm-linux-gcc
??? make
??? make install
?? (3)? 編譯openssh:
??? ? tar zxvf openssh-4.6p1.tar.gz
??? ? cd openssh-4.6p1/
??? ? ./configure --host=arm-linux --with-libs --with-zlib=/home/itlanger/arm/fs/zlib-1.2.3
???? ??? --with-ssl-dir=/home/itlanger/arm/fs/openssl-0.9.8d --disable-etc-default-login ????
???? ??? CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc AR=/usr/local/arm/3.4.1/bin/arm-linux-ar
????? make
??? ? ##不要make install
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?""
????將主機上 /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 root@192.168.0.34
ps: 紅色的那些代表讓arm做ssh server時必須的
??? mkdir -p ~/arm/fs ;mkdir -p ~/arm/source
??? 下載zlib:? wget -c http://www.zlib.net/zlib-1.2.3.tar.gz
??? 下載ssl:? wget -c http://www.openssl.org/source/openssl-0.9.8d.tar.gz
??? 下載ssh: wget -c http://mirror.mcs.anl.gov/openssh/portable/openssh-4.6p1.tar.gz
2.? 編譯:
??? cd ~/arm/source
??? (1) 編譯zlib:
???? tar zxvf zlib-1.2.3.tar.gz -C .
???? cd zlib-1.2.3/
???? ./configure --prefix=/home/itlanger/arm/fs/zlib-1.2.3
??? 修改Makefile:
??? ??? CC=gcc 改為:?
???? ?? CROSS=/usr/local/arm/3.4.1/bin/arm-linux-
?? ?? ? CC=$(CROSS)gcc ?
??? ??? LDSHARED=gcc 改為:? LDSHARED=$(CROSS)gcc
?? ???? CPP=gcc?-E?? 改為 :?? CPP=$(CROSS)gcc?-E
?? ???? AR=ar rc???? 改為:? AR=$(CROSS)ar rc
? 開始編譯: make;
??? ?? ??? make install
??? (2)? 編譯openssl:
??? ?? tar zxvf? openssl-0.9.8d.tar.gz
??? ?? ./configure?--prefix=/home/itlanger/arm/fs/openssl-0.9.8d
???? os/compiler:/usr/local/arm/3.4.1/bin/arm-linux-gcc
??? make
??? make install
?? (3)? 編譯openssh:
??? ? tar zxvf openssh-4.6p1.tar.gz
??? ? cd openssh-4.6p1/
??? ? ./configure --host=arm-linux --with-libs --with-zlib=/home/itlanger/arm/fs/zlib-1.2.3
???? ??? --with-ssl-dir=/home/itlanger/arm/fs/openssl-0.9.8d --disable-etc-default-login ????
???? ??? CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc AR=/usr/local/arm/3.4.1/bin/arm-linux-ar
????? make
??? ? ##不要make install
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_* 4個文件copy到目標板的 /usr/local/etc/目錄下
? ? ? ? chmod 600 這幾個文件,我只生成了3個文件
???? (5) 添加用戶:????將主機上 /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 root@192.168.0.34
ps: 紅色的那些代表讓arm做ssh server時必須的
總結
- 上一篇: 新三板和创业板有什么区别?表现在这些方面
- 下一篇: 招行信用卡账单分期不通过/失败/被拒