通过esp8266模块的sftp连接
sftp connection over esp8266 module
我正在尝试使用 esp8266 wifi 模块建立 sftp 连接,但我遇到了问题。首先,我成功地将 esp8266 连接到我的路由器,然后我尝试使用以下命令建立到 sftp 服务器的 tcp 连接
AT+CIPSTART="TCP","demo@test.rebex.net",22
但我总是从 esp8266 收到 "DNS FAIL" 回复。如何使用 esp8266 wifi 模块建立 sftp 连接?
根据 https://github.com/espressif/ESP8266_AT/wiki/CIPSTART AT+CIPSTART
命令的语法是
AT+CIPSTART=type,addr,port
您的 "address" 参数必须只是主机名。您似乎在其中放置了带有用户名 (demo@test.rebex.net
) 的 URL。主机名应该只是 test.rebex.net
,对吧?文字主机名 demo@test.rebex.net
不存在,因此不能是 DNS-resolved,这解释了错误。然后在协议 运行 中处理作为用户 demo
的身份验证。
但是请注意,SFTP 是一个复杂的协议。该 CIPSTART
命令只是为您打开一个到该主机名和该端口的原始 TCP 套接字。具体来说,发出该命令不会为您执行任何 high-level 协议逻辑。它只是一个可以写入和读取的套接字。如果您的意思是 SFTP FTP over SSL
,您需要能够制作一个 SSL 协议 运行,其中包含所有涉及的密码学。如果通过 SFTP 你的意思是 Secure File Transfer Protocol (SFTP)
你需要一个 SSH 实现(以及相当类似的加密原语)。这种计算绝对不适合只发送 AT+ 命令的 Arduino,所以我建议直接对 ESP8266 进行编程。 esp-open-rtos
有很多 SSL 连接的例子,但是 SSH 或 SFTP 还没有实现。
我正在尝试使用 esp8266 wifi 模块建立 sftp 连接,但我遇到了问题。首先,我成功地将 esp8266 连接到我的路由器,然后我尝试使用以下命令建立到 sftp 服务器的 tcp 连接
AT+CIPSTART="TCP","demo@test.rebex.net",22
但我总是从 esp8266 收到 "DNS FAIL" 回复。如何使用 esp8266 wifi 模块建立 sftp 连接?
根据 https://github.com/espressif/ESP8266_AT/wiki/CIPSTART AT+CIPSTART
命令的语法是
AT+CIPSTART=type,addr,port
您的 "address" 参数必须只是主机名。您似乎在其中放置了带有用户名 (demo@test.rebex.net
) 的 URL。主机名应该只是 test.rebex.net
,对吧?文字主机名 demo@test.rebex.net
不存在,因此不能是 DNS-resolved,这解释了错误。然后在协议 运行 中处理作为用户 demo
的身份验证。
但是请注意,SFTP 是一个复杂的协议。该 CIPSTART
命令只是为您打开一个到该主机名和该端口的原始 TCP 套接字。具体来说,发出该命令不会为您执行任何 high-level 协议逻辑。它只是一个可以写入和读取的套接字。如果您的意思是 SFTP FTP over SSL
,您需要能够制作一个 SSL 协议 运行,其中包含所有涉及的密码学。如果通过 SFTP 你的意思是 Secure File Transfer Protocol (SFTP)
你需要一个 SSH 实现(以及相当类似的加密原语)。这种计算绝对不适合只发送 AT+ 命令的 Arduino,所以我建议直接对 ESP8266 进行编程。 esp-open-rtos
有很多 SSL 连接的例子,但是 SSH 或 SFTP 还没有实现。