sftponlyを設定したSFTPサーバーに接続したいのですが、paramikoモジュールを使うと、最初にsshで接続確立した時点で「connection refused」になる様です。
他のライブラリでも構わないのですが、上記サーバーに接続する方法はあるでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
sshで接続確立した時点で「connection refused」になる様です。
接続が確立しているかどうやって確認しましたか?
connection refused
はそもそもコネクションが確立できてない場合のエラーで、sftp以前の問題だと思います。コネクションが確立して、それから鍵なりnottyなりチェックしてはじかれていればConnection reset by peer
やConnection closed by remote host
になるはずです。一番最初にsshdは相手のクライアントとSSHのバージョンを確認します、それを確認したあとはrefusedにはなりません。
まずsshdがちゃんと立ち上がってるかどうかと、クライアントからの疎通を確認してみてください。
sshに疎通してる例
$ curl 127.0.0.1:22 SSH-2.0-OpenSSH_6.9 curl: (56) Recv failure: Connection reset by peer $ echo -ne 'SSH-2.0-OpenSSH_6.9\r\n' | nc 127.0.0.1 22 SSH-2.0-OpenSSH_6.9 ...curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie- ..... m,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1none,zlib@openssh.comnone,zlib@openssh.com%
何にも疎通してない例
$ curl 127.0.0.1:222 curl: (7) Failed to connect to 127.0.0.1 port 222: Connection refused
投稿2015/07/23 12:23
編集2015/07/23 12:38総合スコア1149
0
質問に記載されたQiitaの記事のSFTPサーバだとシェルが許可されてないのでsshが弾かれているようですね。
以下の方法だとどうでしょう?
lang
1transport = paramiko.Transport("ホスト名") 2private_key = paramiko.RSAKey.from_private_key_file("秘密鍵") 3transport.connect(username="ログイン名", pkey=private_key) 4sftp = paramiko.SFTPClient.from_transport(transport)
lang
1import paramiko 2 3# prepare 4server = "sftphost" 5username = "sftp-user" 6password = "password" 7 8 9transport = paramiko.Transport(server) 10transport.connect(username=username, password=password) 11sftp = paramiko.SFTPClient.from_transport(transport) 12 13# file transfer via sftp 14 15ls = sftp.listdir() 16print ls 17 18sftp.close() 19transport.close()
投稿2015/07/23 10:16
編集2015/07/24 06:57総合スコア3541
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/23 11:10
2015/07/23 14:18
2015/07/24 07:01
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/23 14:26 編集