使用 NodePort 服务和 Kubernetes Ingress 公开时,SFTP 服务器无法访问。但是,如果通过 LoadBalancer 服务公开相同的部署,则它可以正常工作。
以下是使用atmoz/sftp Dockerfile 在Google Kubernetes Engine中进行 SFTP 的部署文件。
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: sftp
labels:
environment: production
app: sftp
spec:
replicas: 1
minReadySeconds: 10
template:
metadata:
labels:
environment: production
app: sftp
annotations:
container.apparmor.security.beta.kubernetes.io/sftp: runtime/default
spec:
containers:
- name: sftp
image: atmoz/sftp:alpine
imagePullPolicy: Always
args: ["user:pass:1001:100:upload"]
ports:
- containerPort: 22
securityContext:
capabilities:
add: ["SYS_ADMIN"]
resources: {}
Run Code Online (Sandbox Code Playgroud)
如果我通常使用 LoadBalancer 类型的 Kubernetes 服务公开此部署,如下所示,此服务将获得一个外部 IP,我可以简单地在命令中使用该 IPsftp xxx.xx.xx.xxx来使用pass密码访问它。
apiVersion: …Run Code Online (Sandbox Code Playgroud) sftp google-cloud-platform kubernetes google-kubernetes-engine kubernetes-ingress
我正在尝试在 PhpStorm 中建立 SFTP 连接。它在 FileZilla 中运行良好。
在 STFP 配置的 SSH 配置部分中,我输入主机、用户名和身份验证类型(密码),然后单击测试连接。它连接得很好。
如果我单击“确定”并返回对话框级别并单击主 SFTP 配置上的“测试连接”,则会收到Connection to dev.the-server.net failed. EOF while reading packet错误消息。同样,当我关闭 SFTP 配置对话框时,读取数据包时出现 EOF 错误,而目录列表应该在该位置。
如果我使用相同的凭据并通过 FTP S连接,我可以获得远程目录列表并下载文件,但尝试上传时出现文件结尾错误。
这一切似乎都是 PhpStorm 问题,因为我可以使用 FileZilla 很好地上传和下载。出于工作流程的原因,我确实需要 PhpStorm 进行连接。
有什么想法从哪里开始吗?
SFTP 对话框的图像:
我目前正在建立一个商用SFTP服务器,我只是在寻找你对我正在考虑实施的设置的一些看法,以及关于什么商业安全FTP服务器软件最好的建议适合.请记住,我负责的数据非常敏感,因此非常感谢任何评论/反馈.
这是场景:
1)在文件上传之前,使用带有盐的AES 256压缩和加密文件.
2)通过SFTP(端口22)从客户端服务器上传到SFTP服务器的文件.
3)我们的其他客户端使用一次性密码验证(强10字母数字密码)通过HTTPS下载文件
我正在考虑的实施细节是:
对于上面的部分(2),使用主机密钥匹配,公钥认证和用户名/密码组合打开连接.双方的防火墙仅限于允许客户端服务器的静态IP连接.
对于部分(3),向每个客户端提供基于每个用户的用户名/密码(用于审计)以登录到他们在服务器上的被监禁帐户.文件本身的加密密码是基于每个文件提供的,所以我试图在这里始终应用两种加密模式(除非文件在服务器上休息).
除了双方的专用防火墙外,SFTP服务器上的访问控制还将配置为在短时间内阻止一定次数的失败尝试的IP地址,无效的密码尝试将锁定用户,密码策略将被实施等.
我想我已经尽可能地覆盖了,但我很想听听你们对这个实现的看法?
对于商业服务器方面,我已将其缩小到GloalSCAPE SFTP w/SSH和HTTP模块或JSCAPE安全FTP服务器 - 我将评估每个周末的适用性,但如果你们有任何经验要么我也喜欢听到它.
我有用户名和密码.
使用Firefox,URL ftp://myuid@ftp.xxx.com会弹出一个询问密码的对话框.响应为'503用户未登录'使用IE,URL ftp.xxx.com会弹出一个对话框,询问用户名和密码; 响应与Firefox相同.
我如何连接到该网站?
如果不使用浏览器,我可以从命令行连接吗?
谢谢您的帮助.
如何bash使用sftp命令下载文件来编写脚本?我可以使用以下命令登录远程计算机,但是我需要手动输入密码.
bash-3.2$ sftp -o "Port 22022" mike@s-edm-ssh.local.files.stack.com
mike@s-edm-ssh.local.files.stack.com's password:
Connected to s-edm-ssh.local.files.stack.com.
sftp>
Run Code Online (Sandbox Code Playgroud)
如何做sftp没有密码提示?
如果我想将aaa.txt文件下载/remote/mike/files到我的本地目录/local/mike/downloaded,如何构建一个脚本来完成所有这些工作?
我正在寻找.net的免费DLL来处理SFTP连接.
我发现了这个项目SharpSSH,但它缺乏文档.
我花了很多时间来计算dll是如何工作的.我创建了一个测试项目,然后开始测试不同的功能.某些功能正在起作用,例如删除文件.
我有putfile()函数和getfile()的问题.
这是一个例子:
Dim ssh As SFTPUtil
ssh = New SFTPUtil("MY SERVER", "MY USER", "MY PW")
ssh.GetFile("/home/sftptest/test111.xml", "C:\\text.xml")
Run Code Online (Sandbox Code Playgroud)
请注意,getfile()参数是:
Public Sub GetFile(remotePath As String, localPath As String)
Run Code Online (Sandbox Code Playgroud)
我介入函数,但我没有得到正确的方法来传递这些参数.
我真的不知道我是否应该使用斜杠(/)或反斜杠().我知道Linux使用(/)
我注意到例如"C:\"已经转换为"C:\\".
只是提到SFTP是在Linux机器上.
谢谢.
我尝试通过SFTP删除非空文件夹的JSCH,但它没有用.
这个有效,但它不是免费的:(我已经过了30天的试用期.我的公司拒绝支付它们只是通过SFTP删除文件夹.
package com.test.cvsutil;
import java.util.List;
import org.apache.log4j.Logger;
import com.jscape.inet.sftp.Sftp;
import com.jscape.inet.sftp.SftpException;
import com.jscape.inet.sftp.events.SftpAdapter;
import com.jscape.inet.ssh.util.SshParameters;
public class SFTPFileDeleter extends SftpAdapter {
static String hostName = ServerProperties.getProperty("test.ftp.hostname");
static String username = ServerProperties.getProperty("test.ftp.login");
static String password = ServerProperties.getProperty("test.ftp.password");
static String directory = ServerProperties.getProperty("test.ftp.directory");
private static Sftp sftp;
private static org.apache.log4j.Logger log = Logger.getLogger(SFTPFileDeleter.class);
public static boolean deleteDir(List <String> path) throws SftpException {
Boolean flag = false;
log.info("------------------------ file(s) delete started ------------------------");
sftp = new Sftp(new SshParameters(hostName, username, password));
sftp.connect();
sftp.setDir(directory);
for …Run Code Online (Sandbox Code Playgroud) 使用带有Identity文件和密码的SFTP出站连接器上传文件时出现问题.下面是我的sftp出站组件,其中包含身份文件和密码短语代码段.
<sftp:outbound-endpoint exchange-pattern="request-response"
connector-ref="SFTP" outputPattern="testsftp.txt" host="XXX.XX.XXX.XX"
port="22" responseTimeout="10000" doc:name="SFTP" path="/FCD"
password="XXXXX" user="alt"
identityFile="C:/Users/kalyan/AnypointStudio/workspace02102015/ftp-server-pproject/src/main/resources/ppkKey/ALT.ppk"
passphrase="XXXXX" />
Run Code Online (Sandbox Code Playgroud)
我已经在上面的代码片段中模拟了ip地址,密码以及下面的错误.
但我在运行时遇到错误.
com.jcraft.jsch.JSchException:密码'aes256-cbc'是必需的,但它不可用.
和
java.io.IOException:登录到alt@XXX.XX.XXX.XX时出错:需要密码'aes256-cbc',但它不可用.
有人可以帮我解决错误.
我有SSIS包,将数据加载到文件中.目前该文件位于网络驱动器中,但我的经理希望通过SSH服务器在FTP中使用此文件.我没有看到任何可以做到这一点的SSIS任务.我知道FTP任务在这里不起作用.有人可以帮助我.