【问题标题】:SAS Sftp connection issueSAS Sftp 连接问题
【发布时间】:2021-04-08 01:15:50
【问题描述】:

目前我正在尝试使用 sas 连接到 sftp 服务器。我做了一些研究,它说要使用sftp方法,我需要安装openSSH客户端软件并使用密钥认证进行连接。

所以我安装了 puTTY 并设置了私钥/公钥。当我测试来自 psftp 的连接时,我可以在没有密码的情况下连接到 sftp 服务器(使用密钥身份验证)。如下所示,测试文件 3.xlsx 位于 sftp 服务器上。

但问题是当我尝试在 sas 上获取相同的文件时,出现错误“文件不存在”。

在psftp里面,我可以在本地电脑上下载这个测试文件,我不知道为什么我不能在sas上做同样的事情。

下面是我的sas sftp连接代码:

filename output sftp '/3.xlsx'
optionsx='-P 222 -i x:\PuTTY\privatekey.ppk -pw "XXXXX" -V'
host="xxxxxx" user="xxxxxxx" path="x:\PuTTY\psftp.exe" DEBUG;

如果有人能帮我解决这个问题,我将不胜感激。

【问题讨论】:

  • 尝试删除/,并添加cd='/'参数。
  • @ChrisJ 我试过了,还是不行

标签: sas sftp putty csc


【解决方案1】:

我首先要排查问题的是您的提示是否有问题。根据documentation

SFTP 访问方法和 SFTP 提示 SFTP访问方式仅支持以下提示。更改提示将禁用 SFTP 访问方法。 对于 OpenSSH:

  • sftp>
  • sftp >

你有psftp>。这可能是个问题。

我要尝试的第二件事是,同样来自文档,示例 4:使用批处理文件。他们的例子:

 filename process sftp ' ' host="linuxhost1" user="userid" 
   batchfile="c:/stfpdir/sftpcmds.bat";
data _null_;
   infile process;
run;

这将使您至少可以进行更多故障排除(例如ls 以查看可用的内容)。您可能会遇到很多潜在问题,因此能够使用命令文件进行调试将有助于解决其中的一些问题。

您也有LSLSA 选项,这可能至少有助于调试 - 可能比一开始的命令文件更容易。

【讨论】:

  • 嗨,乔,我尝试先测试简单的 cmd,例如 'ls' 或 'lsa',但它不起作用。根据 SAS 文档,如果我只想获取文件列表,我可以将该外部文件保留为空引号(文件名 test sftp '')。但是如果我这样做,我会得到像目录或文件''不存在这样的错误。这就是为什么我现在很困惑。
  • 那听起来提示可能确实有问题,要不然你可能有其他连接问题。
猜你喜欢
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 2020-07-26
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
相关资源
最近更新 更多