質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

5994閲覧

paramikoによるssh接続でServer connection droppedとなる

HidenoriYamano

総合スコア60

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2016/12/25 17:32

編集2016/12/27 18:30

###前提・実現したいこと
Pythonモジュール paramiko を用いてssh接続しています。
詳細な数は把握できていませんが、大量のファイルを読み込む際、長時間接続したときに以下のエラーが出ます。

###発生している問題・エラーメッセージ

No handlers could be found for logger "paramiko.transport" Traceback (most recent call last): File "/Users/yamano/Dropbox/hotel/python_program/kadouritsu/main/kyoto_db>=50_jalan.py", line 203, in <module> main() File "/Users/yamano/Dropbox/hotel/python_program/kadouritsu/main/kyoto_db>=50_jalan.py", line 199, in main test() File "/Users/yamano/Dropbox/hotel/python_program/kadouritsu/main/kyoto_db>=50_jalan.py", line 90, in test get_data(sftp,files_n2) File "/Users/yamano/Dropbox/hotel/python_program/kadouritsu/main/kyoto_db>=50_jalan.py", line 162, in get_data duplcheck = [] File "/Library/Python/2.7/site-packages/paramiko/util.py", line 322, in __exit__ self.close() File "/Library/Python/2.7/site-packages/paramiko/sftp_file.py", line 72, in close self._close(async=False) File "/Library/Python/2.7/site-packages/paramiko/sftp_file.py", line 93, in _close self.sftp._request(CMD_CLOSE, self.handle) File "/Library/Python/2.7/site-packages/paramiko/sftp_client.py", line 729, in _request return self._read_response(num) File "/Library/Python/2.7/site-packages/paramiko/sftp_client.py", line 761, in _read_response raise SSHException('Server connection dropped: %s' % str(e)) paramiko.ssh_exception.SSHException: Server connection dropped: [Finished in 1561.1s with exit code 1] [shell_cmd: python -u "/Users/yamano/Dropbox/hotel/python_program/kadouritsu/main/kyoto_db>=50_jalan.py"] [dir: /Users/yamano/Dropbox/hotel/python_program/kadouritsu/main] [path: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin]

###該当のソースコード
実行プログラムはかなり長いので一部割愛します。

python

1HOST_ADDRESS = "xxx.xxx.xx.xx" #データ収集時の接続先ホストIPアドレス 2SSH_PORT = 22 #SSH接続ポート 3SSH_PASSWORD = "xxxxxx" #SSH接続パスワード 4SSH_USERNAME = "xxxxxx" #SHH接続ユーザ名 5#SFTP接続の準備 6conn = paramiko.SSHClient() 7conn.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 8conn.connect(HOST_ADDRESS, port=SSH_PORT, password=SSH_PASSWORD, username=SSH_USERNAME) 9sftp = conn.open_sftp() #ファイルを取得 10f_n = 'xxx/xxx/xx.csv' 11with sftp.open(f_n, "r") as f: 12 lines= f.readlines() 13 ''' 14 処理内容 15 ''' 16

###試したこと
こちらのサイトに記載のエラー内容を見ましたが英語のためいまいち。。
http://stackoverflow.com/questions/35592714/paramiko-sftp-connection-drops-while-uploading-large-file

###補足情報(言語/FW/ツール等のバージョンなど)
クライアントOS MacOS 10.10.4
接続先OS Ubuntu 4.8.2
sshで開いているファイルのサイズは、おおよそ30KBほどで、ループ処理により開いて閉じての読み込み作業を何時間も回しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

下記2点ご確認されましたでしょうか?

① Mac・Ubuntuのssh設定ファイルでタイムアウトしないように調整。
▼ ssh 接続をタイムアウトしないようにする
http://www.maruko2.com/mw/ssh_%E6%8E%A5%E7%B6%9A%E3%82%92%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%81%97%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B

② Ubuntuのsshログ(/var/log/secure)の確認。(質問に追記頂けたらと思います。)

投稿2017/01/07 12:22

pond

総合スコア350

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問