2017-10-06 99 views
0

我必須編寫一個使用ssh登錄到遠程服務器並訪問Cassandra數據庫的python腳本。我使用paramiko但登錄到服務器後,它不連接到Cassandra並腳本掛起。Python腳本登錄到遠程服務器並訪問Cassandra數據庫

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會話?

嘗試添加-e標誌cqlsh命令:相應

cqlsh -e 'select * from test.emp' 

更改爲腳本。

還檢查-e標誌的cqlsh --help

-e EXECUTE, --execute=EXECUTE 
         Execute the statement and quit. 
相關問題