2017-10-06 1 views
0

リモートサーバーにsshを使用してログオンし、そこでCassandraデータベースにアクセスするPythonスクリプトを作成する必要があります。私はparamikoを使用していますが、サーバにログインした後、Cassandraに接続せずにスクリプトがハングします。リモートサーバーにログインしてCassandraデータベースにアクセスするPythonスクリプト

import paramiko 
ssh = paramiko.SSHClient() 
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
ssh.connect('10.65.XXX.XX', username='sinha.aman', password='', key_filename='/root/.ssh/id_rsa.pub') 
stdin, stdout, stderr = ssh.exec_command('cqlsh 10.65.XXX.XX 9042 -u ABC123 -p 12345') 
stdin, stdout, stderr = ssh.exec_command('ls') 
print(stdout.readlines()) 
ssh.close() 
+0

マシンに手動で接続する場合cqlshランニングのですか? – Horia

答えて

1

おそらく、あなたはcqlshセッションを開いているので、スクリプトはユーザー入力から待っていますか?コマンドをcqlshする-eフラグを追加

試してみてください。あなたのスクリプトに応じて

cqlsh -e 'select * from test.emp' 

を変更。

また、-eフラグにはcqlsh --helpも指定してください。

-e EXECUTE, --execute=EXECUTE 
         Execute the statement and quit. 
関連する問題