首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Powershell中使用FtpWebRequest访问带证书的Filezilla服务器

问在Powershell中使用FtpWebRequest访问带证书的Filezilla服务器
EN

Stack Overflow用户
提问于 2018-01-29 01:40:34
回答 1查看 935关注 0票数 0

我试图使用Powershell中的FtpWebRequest访问Filezilla服务器,如下所示:

代码语言:javascript
复制
$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文件,使用记事本手动取出私钥部分,然后运行:

代码语言:javascript
复制
Import-Certificate -FilePath .\filezillaCertificate.crt -CertStoreLocation cert:\CurrentUser\My

但是,尝试使用FtpWebRequest连接时,我仍然会收到“根据验证过程远程证书无效”的错误。

谁能给我指明正确的方向?

EN

回答 1

Stack Overflow用户

发布于 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? 创建站点

  1. 转到文件>>站点管理器>>新建站点。
  2. 以下是填写所需的详细信息。

·主机:输入主机名(即ftp.yourdomain.com)或我们在欢迎电子邮件中发送的IP地址。端口: 21 (默认FTP端口为21,也可以保持为空)。协议: FTP -文件传输协议。加密:从下拉列表中选择TLS上所需的显式FTP。登录类型:从下拉列表中选择Normal。用户:您的FTP用户名。密码:您的FTP密码。

https://manage.accuwebhosting.com/knowledgebase/761/How-to-connect-FTP-over-SSLorTLS-in-FileZilla.html

FileZilla wiki还讨论了如何执行SSL实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48493292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档