我试图使用Powershell中的FtpWebRequest访问Filezilla服务器,如下所示:
$ftprequest = [System.Net.FtpWebRequest]::Create($sourceuri)
$ftprequest.Method = ([System.Net.WebRequestMethods+Ftp]::ListDirectoryDetails + " -a")
$ftprequest.Credentials = New-Object System.Net.NetworkCredential($username,$password)
$ftprequest.EnableSsl = $true在Filezilla中,有一个“”,它是我用来创建证书的。这为Filezilla所指向的私钥和证书文件创建了一个.crt文件。
服务器还配置了“启用FTPS”和“允许TLS上的显式FTP”选项。
我能够使用Filezilla客户机愉快地访问服务器(尽管它警告服务器的证书是未知的)。
要从Powershell客户端访问服务器,不需要抱怨证书,我的理解是最好将证书导入到客户端机器上。为此,我下载了.crt文件,使用记事本手动取出私钥部分,然后运行:
Import-Certificate -FilePath .\filezillaCertificate.crt -CertStoreLocation cert:\CurrentUser\My但是,尝试使用FtpWebRequest连接时,我仍然会收到“根据验证过程远程证书无效”的错误。
谁能给我指明正确的方向?
发布于 2018-01-29 04:56:44
这不是PoSH问题。这是一个纯粹的PKI 101 (证书实现)问题。
在大多数情况下,自签名证书都被认为是不可信的,因为没有方法来验证它,没有它的公共注册机构,也没有与它相关联的公共CRL (证书吊销列表/授权)。
无法为本地计算机上的远程位置创建PKI证书。必须在远程位置上创建证书,或者购买公共证书并将其安装在远程位置证书存储中。公钥和私钥必须驻留在远程服务器/站点上。对于任何服务器/站点,证书必须注册/颁发给该服务器,然后手动分配给站点(FTP/s、HTTP/s)。
然后,从目的地下载公共证书,并将其安装在本地计算机上。通常安装到本地机器商店。如果无法使用浏览器下载该公共证书和证书链,请在访问网站后单击该锁,则必须请求目标服务器/站点所有者向您发送公共证书以供您在本地安装。同样,通常安装到本地机器商店。
我知道您的文章是关于Filezilla服务器的(完全公开:我从未在使用过的服务器上见过),但是下面关于在IIS上通过SSL设置FTP的文章中所示的方法应该是类似的。
基于SSL的FTP 元素指定FTP服务的FTP over安全套接字层( SSL )设置;FTP 7.0中首次为IIS 7引入了FTP over SSL。 与使用HTTPS进行安全(HTTPS)通信需要单独的端口和连接不同,安全FTP通信与非安全通信在同一个端口上进行。FTP 7支持SSL上的两种不同形式的FTP: https://learn.microsoft.com/en-us/iis/configuration/system.applicationhost/sites/site/ftpserver/security/ssl https://learn.microsoft.com/en-us/iis/publish/using-the-ftp-service/using-ftp-over-ssl-in-iis-7
更新以查找FileZilla SSL指南
在FileZilla FTP服务器Server.html上安装SSL证书 在基于OpenSSL的服务器上安装证书与在Apache上安装证书非常相似:安装Apache证书,只是指示th文件路径的说明不一样!对于FTP FileZilla服务器,通过接口: FileZilla服务器选项-> SSL/TLS设置: ·在“私钥文件”中导入私钥(与CSR一起生成的.key文件)。 *在同一个文件中导入证书和证书链: 1)在证书状态页上,下载"file.cer“文件和证书链-xxx.txt”2)将这两个文件连接到一个3)导入“证书文件”中的文件 如何在FileZilla中通过SSL/TLS连接FTP? 创建站点
·主机:输入主机名(即ftp.yourdomain.com)或我们在欢迎电子邮件中发送的IP地址。端口: 21 (默认FTP端口为21,也可以保持为空)。协议: FTP -文件传输协议。加密:从下拉列表中选择TLS上所需的显式FTP。登录类型:从下拉列表中选择Normal。用户:您的FTP用户名。密码:您的FTP密码。
FileZilla wiki还讨论了如何执行SSL实现。
https://stackoverflow.com/questions/48493292
复制相似问题