Zedboard: Open-SSH配置
SSH(SecureShell)支持基于加密证书模式的远程登录,包括了对SSH、SCP和SFTP的全面支持,是目前广泛采用的安全登录协议,替代以前不安全的Telnet协议。
SSH包括2个部分,服务端的SSHD(SecureShellDaemon)和SSH用户端。我们通常所说的用SSH登录到某某主机,指的是用SSH用户端登录到某台主机(该主机运行了SSHD服务端程序)。下面简要介绍在ZED板上配置open-ssh的过程。
1. 下载源码
从git.xilinx.com上下载zlib,open-ssl,open-ssh源码。
2. SSH配置
2.1 Zlib1.2.5安装
CHOST=arm-xilinx-linux-gnueabi ./configure -prefix=/home/telantan/rootfs
make; make install
2.2 Open-ssl1.0.0e安装
./Configure linux-armv4 shared --prefix=/home/telantan/rootfs
make
make install
2.3 open-ssh5.2安装
./configure --host=arm-xilinx-linux-gnueabi --with-libs --with-zlib=/home/telantan/rootfs --with-ssl-dir=/home/telantan/rootfs --disable-etc-default-login CC= arm-xilinx-linux-gnueabi-gcc AR= arm-xilinx-linux-gnueabi-ar
配置过程中,会报如下错误,找不到对应的配置选项,
checking build system type... Invalid configuration `arm-xilinx-linux-gnueabi-gcc': machine `arm-xilinx-linux-gnueabi' not recognized
configure: error: /bin/sh ./config.sub arm-xilinx-linux-gnueabi-gcc failed
解决的办法是在.config.sub中添加如下代码,
arm-xilinx-*)
echo Xilinx Zynq found
basic_machine=arm-xilinx
os=-linux
;;
接着执行make 即可, 不需要make install
make
手动将编译生成的命令拷贝到对应的位置:
Ø 将scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan复制到/home/telantan/rootfs/usr/bin中
Ø 将moduli ssh_config sshd_config复制到/usr/local/etc
Ø 将ssh-keysign sftp-server 复制到/home/telantan/rootfs/usr/libexec
Ø 将sshd复制到/usr/local/sbin目录(也可以放在/sbin或/usr/sbin);
Ø 同时建立/home/telantan/rootfs/var/empty目录
2.4 建立sshd用户
直接修改/etc/passwd、/etc/group文件
在passwd中加入
sshd::103:103::/var/run/sshd:/bin/sh
在group中加入
sshd:*:103:
2.5 生成Key
ssh-keygen是交叉编译的,只能在客户端运行,所以下面的命令需要在Zed板上运行,
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-key -t ecdsa -f ssh_host_ecdsa_key -N ""
通过之前介绍的tftp协议,将生成的key文件上传到宿主机RHEL6.3,
tftp -pr ssh_host_dsa_key 192.168.1.50
在宿主机REHL6.3,将接收到的key文件拷贝到/home/telantan/rootfs/usr/local/etc目录中,
最后重新生成文件系统,
文章评论(0条评论)
登录后参与讨论