海思DV500配置SSH
目的:mindstudio ssh远程soc debug
1.源码交叉编译
1.1编译gdb
gdb-8.1.1.1
./confgure --host=aarch64-linux-musleabi --prefx=~/dv500/gdb
make && make install
1.2编译zlib
zlib-1.3
./configure --host=aarch64-linux-musleabi --prefix=~/dv500/zlib
make && make install
1.3编译openssl
openssl-3.1.4
./Configure linux-armv4 shared no-asm --prefix=~/dv500/openssl --cross-compile-prefix=aarch64-linux-musleabi-
make && make install
1.4编译openssh
openssh-9.2p1
./configure --host=aarch64-linux-musleabi --with-libs --with-zlib=~/dv500/zlib --with-ssl-dir=~/dv500/openssl --disable-etc-default-login CC=aarch64-linux-musleabi-gcc AR=aarch64-linux-musleabi-ar --prefix=~/dv500/openssh
make && make install
在make install的时候可能报错,直接拷贝的make目录
2.拷贝链接到开发板
/usr/目录下资源有限,/data_fs空间比较大,采用软连接的方式
mkdir -p /data_fs/s_data/usr/libexec /data_fs/s_data/usr/local/etc /data_fs/s_data/usr/local/bin
2.1拷贝文件
1.将编译openssh生成的scp ,sftp ,ssh,sshd,ssh-add,ssh-agent,ssh-keygen,ssh-keyscan文件拷贝到开发板中的 /data_fs/s_data/usr/local/bin;
2.将编译openssh生成的moduli,ssh_config,sshd_config”拷贝到开发板的“ /data_fs/s_data/usr/local/etc”目录;
3.将编译openssh生成的“sftp-server、ssh-keysign”拷贝到开发板的“/data_fs/s_data/usr/libexec”目录
4.将编译的openssl拷贝到开发板的/data_fs/s_data”目录
5.将编译的zlib拷贝到开发板的“/data_fs/s_data”目录
6.将编译的gdb拷贝到开发板的“/data_fs/s_data”目录
2.2建立软连接
ln -s /data_fs/s_data/usr/local/etc /usr/local/
ln -s /data_fs/s_data/usr/local/bin /usr/local/
ln -s /data_fs/s_data/usr/libexec /usr/
ln -s /data_fs/s_data/gdb/gdb /usr/bin/gdb
3.生成key
在/usr/local/bin运行以下命令
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
ssh-keygen -t dsa -f ssh_host_ed25519_key -N ""
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t ecdsa -f ssh_host_ecdsa_key -N ""
4.修改配置文件
在/usr/local/etc/sshd_config文件下找到相应的项修改或者反注释掉
vi /usr/local/etc/sshd_config
Port 22
HostKey /usr/local/bin/ssh_host_rsa_key
HostKey /usr/local/bin/ssh_host_ecdsa_key
HostKey /usr/local/bin/ssh_host_ed25519_key
PermitRootLogin yes
(海思文档上要求的,添加在最后)
ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com
macs hmac-sha2-256,hmac-sha2-512,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
hostkeyalgorithms ssh-ed25519,rsa-sha2-512,rsa-sha2-256
#kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,difehellman-group-exchange-sha256
vi /usr/local/etc/ssh_config
Port 22
5.加载配置文件
mkdir -p /var/empty/sshd
/usr/local/bin/sshd -f /usr/local/etc/sshd_config
export LD_LIBRARY_PATH='/data_fs/s_data/zlib/lib:/data_fs/s_data/openssl/lib'
最后,远程调试很慢,体验感很差,呵呵哒。一顿 。。。一问。。。。
报错:
Privilege separation user sshd does not exist
adduser sshd
备注
编译opencv的命令
cmake -DCMAKE_C_COMPILER=aarch64-v01c01-linux-musl-gcc -DCMAKE_CXX_COMPILER=aarch64-v01c01-linux-musl-g++ -DCMAKE_INSTALL_PREFIX=.../opencv-4.4.0/install_ebi -DOPENCV_FORCE_3RDPARTY_BUILD=ON -DBUILD_ZLIB=ON -DWITH_GTK=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_opencv_ts=OFF -DBUILD_opencv_shape=OFF -DBUILD_opencv_stitching=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=OFF -DBUILD_opencv_dnn=OFF -DBUILD_opencv_features2d=OFF -DBUILD_opencv_flann=OFF -DBUILD_opencv_highgui=OFF -DBUILD_opencv_ml=OFF -DBUILD_opencv_objdetect=OFF -DBUILD_opencv_photo=OFF -DBUILD_opencv_video=OFF -DBUILD_opencv_videoio=OFF -DBUILD_opencv_videostab=OFF -DCMAKE_BUILD_TYPE=RELEASE -DZLIB_LIBRARY=.../zlib/lib -DZLIB_INCLUDE_DIR=.../zlib/include ..
参考文章:https://www.cnblogs.com/zhuangquan/p/13158094.html