SSHをPythonで接続しようとしています。私はエラーを取り除くためにまだ苦労して、さまざまな方法を使用してエラーを削除しようとしました。これは私のコードです:SSH用にpxsshを使用しているときにPythonコードでエラーが発生しました
1) import pxssh
import getpass
def get_ssh():
s= pxssh.pxssh()
hostname = raw_input('IP: ')
username = raw_input('username: ')
password = getpass.getpass('password: ')
s.login (IP, username, password)
s.logout()
return True
2) s= pxssh.pxssh(timeout='time_out', maxread=20000)
s.SSH_OPTS += " -o StrictHostKeyChecking=no"
s.SSH_OPTS += " -o UserKnownHostsFile=/dev/null"
s.login ('IP', 'username', 'password')
両方とも私は同じエラーが発生しています。また、秘密鍵と公開鍵を認証に渡す方法についていくつかの情報が必要です:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mit_test.py", line 11, in get_ssh
s.login (hostname, username, password)
File "/usr/lib/python2.7/dist-packages/pxssh.py", line 196, in login
i = self.expect(["(?i)are you sure you want to continue connecting", original_prompt,
"(?i)(?:password)|(?:passphrase for key)", "(?i)permission denied", "(?i)terminal type",
TIMEOUT, "(?i)connection closed by remote host"], timeout=login_timeout)
File "/usr/lib/python2.7/dist-packages/pexpect.py", line 1316, in expect
return self.expect_list(compiled_pattern_list, timeout, searchwindowsize)
File "/usr/lib/python2.7/dist-packages/pexpect.py", line 1330, in expect_list
return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize)
File "/usr/lib/python2.7/dist-packages/pexpect.py", line 1401, in expect_loop
raise EOF (str(e) + '\n' + str(self))
pexpect.EOF: End Of File (EOF) in read_nonblocking(). Exception style platform.
<pxssh.pxssh object at 0x2840ad0>
version: 2.4 ($Revision: 516 $)
command: /usr/bin/ssh
searcher: searcher_re:
0: re.compile("(?i)are you sure you want to continue connecting")
1: re.compile("[#$]")
2: re.compile("(?i)(?:password)|(?:passphrase for key)")
3: re.compile("(?i)permission denied")
4: re.compile("(?i)terminal type")
5: TIMEOUT
6: re.compile("(?i)connection closed by remote host")
私は正確に何をしなければなりませんか?私は他のいくつかのコメントを検索しましたが、解決策を見つけることができませんでした。また、ログイン引数に秘密鍵のパスを設定する方法はありますか?誰でも助けてくれますか?私は別の投稿を行ったlink [リンク](EOF when using pexpect and pxssh)しかし、解決策を得ることができませんでした。あなたの時間をありがとう。
プログラムと同じユーザーの同じホストからのSSH接続が他に機能する場合は試しましたか? – marekful
また、ホストキーチェックで新しいホストが見つかった場合は、この場合のように、最初に端末に「はい」と入力して認証に進む必要があります。 [SSHオプション](http://linuxcommand.org/man_pages/ssh1.html)( '-O')で無効にすることができます – marekful
はい私は同じホストのユーザー名とパスワードでデータベースを構成しています。今私は、Pythonを使ってSSHトンネルを作りたいと思っています。 –