2017-10-06 43 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. 
相关问题