![如何解决:530 未选择安全机制](https://linux22.com/image/742557/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%EF%BC%9A530%20%E6%9C%AA%E9%80%89%E6%8B%A9%E5%AE%89%E5%85%A8%E6%9C%BA%E5%88%B6.png)
我正在使用 BitVise SSH 服务器。通常我会让它在 49000 上监听 SSH/SFTP 请求,这样效果很好。我尝试将它设置为在 21 上监听 FTP。根据日志,连接已建立并正常终止。但是客户端连接不正确。
使用 WinSCP,我在日志和屏幕上看到了这一点
. 2019-09-11 11:10:31.735 Connecting to sftp.mysite.ca ...
. 2019-09-11 11:10:31.735 Connected with sftp.mysite.ca. Waiting for welcome message...
< 2019-09-11 11:10:31.735 220 Bitvise SSH Server 8.32
> 2019-09-11 11:10:31.735 USER scanner
< 2019-09-11 11:10:31.735 530 No security mechanism selected
. 2019-09-11 11:10:31.735 Connection failed.
* 2019-09-11 11:10:31.773 (EFatal) Connection failed.
* 2019-09-11 11:10:31.773 Authentication failed.
* 2019-09-11 11:10:31.773 Connection failed.
* 2019-09-11 11:10:31.773 No security mechanism selected
我当然需要在服务器端做点什么。我所做的就是在设置>服务器>绑定和 UPnP>IPv4用于端口 21 上的 FTP。
因此,我想要么是 FTP 设置不正确,要么是我需要在客户端做些什么来提供正确的安全机制。我这样做是因为我们有一些旧打印机不支持 SMBv2 等现代安全协议,因此 FTP 应该是一个可以接受的折衷方案,我正在使用 Bitvise 来代理连接,以便用户可以使用 FTP 扫描到文件夹。
答案1
这不应该起作用。Bitvise 支持 FTPS 而不是普通 FTP
Bitvise SSH Server 还支持 FTPS - 基于 TLS/SSL 的 FTP。FTP 协议的历史比 SSH 更长,最初植根于不安全、未加密的设计。FTPS 客户端在支持 FTP 的安全措施方面差异很大。因此,与 SSH、SFTP 和 SCP 客户端相比,Bitvise SSH Server 与 FTPS 客户端的兼容性更具选择性。
为了与 Bitvise SSH 服务器兼容,FTPS 客户端必须:
支持在 FTP 控制连接开始时使用 AUTH TLS 启动的显式 TLS。
使用 FTP 被动模式。
支持数据连接的 TLS,并使用 TLS 恢复功能进行数据连接。
应用程序帮助(至少针对 8.32 版本)明确指出:
仅支持 TLS 保护的 FTP 连接。未加密的纯文本 FTP 是不是支持的。