At command esp8266模块上的sftp连接

At command esp8266模块上的sftp连接,at-command,esp8266,At Command,Esp8266,我正在尝试使用esp8266 wifi模块建立sftp连接,但我遇到了问题。首先,我成功地将esp8266连接到我的路由器,然后我尝试使用以下命令将tcp连接到sftp服务器 AT+CIPSTART="TCP","demo@test.rebex.net",22 但我总是收到esp8266的“DNS失败”回复。如何使用esp8266 wifi模块建立sftp连接?根据AT+CIPSTART命令的语法 AT+CIPSTART=type,addr,port 您的“地址”参数必须正好是主机名。看起

我正在尝试使用esp8266 wifi模块建立sftp连接,但我遇到了问题。首先,我成功地将esp8266连接到我的路由器,然后我尝试使用以下命令将tcp连接到sftp服务器

AT+CIPSTART="TCP","demo@test.rebex.net",22
但我总是收到esp8266的“DNS失败”回复。如何使用esp8266 wifi模块建立sftp连接?

根据
AT+CIPSTART
命令的语法

AT+CIPSTART=type,addr,port 
您的“地址”参数必须正好是主机名。看起来你在那里放了一个带有用户名的URL(
demo@test.rebex.net
)。主机名应该是
test.rebex.net
,对吗?文本主机名
demo@test.rebex.net
不存在,因此无法通过DNS解析,这就解释了错误。作为用户
demo
的身份验证在协议运行时处理

但是请注意,SFTP是一个复杂的协议。该
CIPSTART
命令只为您打开一个指向该主机名和该端口的原始TCP套接字。具体来说,发出该命令不会为您执行任何高级协议逻辑。它只是一个你可以读写的插座。如果您指的是SFTP
FTP over SSL
,那么您需要能够使SSL协议在涉及所有加密的情况下运行。如果SFTP指的是
安全文件传输协议(SFTP)
,则需要SSH实现(以及类似的加密原语)。这类计算绝对不适合只发送AT+命令的Arduino,因此我建议直接编程ESP8266。
esp open rtos
中有很多进行SSL连接的示例,但SSH或SFTP尚未实现

根据
AT+CIPSTART
命令的语法是

AT+CIPSTART=type,addr,port 
您的“地址”参数必须正好是主机名。看起来你在那里放了一个带有用户名的URL(
demo@test.rebex.net
)。主机名应该是
test.rebex.net
,对吗?文本主机名
demo@test.rebex.net
不存在,因此无法通过DNS解析,这就解释了错误。作为用户
demo
的身份验证在协议运行时处理

但是请注意,SFTP是一个复杂的协议。该
CIPSTART
命令只为您打开一个指向该主机名和该端口的原始TCP套接字。具体来说,发出该命令不会为您执行任何高级协议逻辑。它只是一个你可以读写的插座。如果您指的是SFTP
FTP over SSL
,那么您需要能够使SSL协议在涉及所有加密的情况下运行。如果SFTP指的是
安全文件传输协议(SFTP)
,则需要SSH实现(以及类似的加密原语)。这类计算绝对不适合只发送AT+命令的Arduino,因此我建议直接编程ESP8266。
esp open rtos
中有很多进行SSL连接的示例,但SSH或SFTP尚未实现