web-dev-qa-db-ja.com

curlでsftpを実行中にエラーが発生しました

IBMのデータエクスプローラーを使用して特定のデータをインポートしていますが、次のエラーが発生します。

プロトコルsftpはサポートされていないか、libcurlで無効になっています。

そこで、RedHatから手動でコマンドを実行しました。

curl -user sftp://hostname.com/~/filename.csv

しかし、このエラーが発生しました:

curl:(51)SSLピア証明書またはSSHリモートキーがOKではありませんでした

SFTPがサポートされているかどうかを確認するには、curl -Vを実行して、次のようにしました。

curl 7.19.7(x86_64-redhat-linux-gnu)libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2プロトコル:tftp ftp telnet dict ldap ldapshttpファイルhttps ftps scp sftp

何が悪いのか誰か知っていますか?ありがとう。

3
codebee

IBM Data Explorerは、おそらくlibcurlの独自のプライベートコピーに対してリンクされているため、システムバージョンに表示される内容は、sftpサポートに関する限りIBMバージョンを反映していない可能性があります。

通常、curlは次のように機能します。

curl -u <username> sftp://hostname.com/~/filename.csv

これは、以前にssh hostname.comを正常に実行したことがあることを前提としています。これにより、~/.ssh/known_hostsファイルに正しいキーエントリが追加されているはずです。何らかの理由でこれに問題がある場合は、curlコマンドラインに-kを追加して、SSHホストキーチェックを無効にすることができます。

3
jjlin