歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 用OpenSSH連接TQ2440

用OpenSSH連接TQ2440

日期:2017/2/28 16:16:47   编辑:Linux教程

以前一直用nfs 向開發板上copy 文件, 先在Window 中編輯好,然後拖到Vm下的Ubuntu中的nfs目錄下,最後才cp命令.實在麻煩,這陣一直在研究boa,忙的慌,昨天終於下定決心把sftp做起來. 終於搞定可以用winSCP連接,圖形界面拖拖拽拽.

一 移植OpenSSH

1. 下載需要的源碼:

mkdir -p ~/arm/fs ;mkdir -p ~/arm/source
下載zlib: wget -c http://google-desktop-for-linux-mirror.googlecode.com/files/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/目錄下
(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 [email protected]


------------------------------------------------
下邊進行免密碼登錄設置:
cp(主機) root/.ssh/id_dsa.pub 到 (開發板)/.ssh/authorized_keys


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

Copyright © Linux教程網 All Rights Reserved