嵌入式linux系统中添加FTP和SSH服务过程记录
平台 : ARM
CPU : i.Max6ul
系统 : linux系统
根据客户要求,设备的文件系统中需要添加FTP和SSH服务,添加过程中遇到一些问题,记录如下:
添加FTP服务
添加方法:
FTP服务添加方法很简单,只需要配置好/etc/inetd.conf文件并通过inetd工具将其应用即可。
具体操作步骤如下:
mkdir /ftpdir //先创建FTP传输文件保存的路径:
inted.conf文件配置方法如下:
21 stream tcp nowait root ftpd ftpd -w /ftpdir
各字段含义如下:
服务端口号 套接字类型 协议类型 wait/nowait 用户名 服务程序 服务程序的参数
配置文件完成后,在shell中执行inted即可使用FTP服务。
遇到的问题:
因为编译busybox的同事在menuconfig中没有将FTP服务选中,导致配置好服务并启动后,client端请求连接会报出”421 service not available, remote server has closed connection.”的问题,但服务端端口号打开正常,导致一直没找到问题所在。最后才知道是编译busybox时配置的问题。
添加SSH服务
SSH服务启用之前需要先生成密钥对,密钥对的生成直接使用系统工具ssh-keygen:
ssh-keygen -t rsa
遇到问题:
在生成密钥对时,如果输入了passphrase,就会导致sshd启动时提示秘钥不合法,无法启动sshd服务。不确定是否只有我使用的这个系统有这个问题,还是嵌入式linux系统都是这样的。
还有一个小问题,就是在运行sshd服务时,需要使用绝对路径去运行sshd程序,否则服务将无法成功启用,即:
/usr/sbin/sshd -f /dev/sshd/sshd_conf