Я пытаюсь что-то с двухдневного поиска в Google и чтениях без каких-либо успехов.Сценарий Python для подключения через SSH-туннель к базе данных MySQL в Namecheap
У меня есть база данных MySQL, размещенная на Namecheap.com, которая мне нужна для доступа с локальной локальной машины через скрипт Python для создания таблиц и записей. Namecheap сказать «
» Удаленное соединение MySQL отключен на наших общих серверах из-за соображений безопасности, но вы можете легко настроить SSH туннель между вашим компьютером и нашим сервером с использованием SSH-клиент (например, Putty) с MySQL порт (3306). После его завершения вы будете иметь порт 3306 на своем локальном компьютере, который будет прослушивать и перенаправлять локальный хост вашего удаленного сервера на порт 3306. Таким образом, вы можете эффективно подключиться к базе данных удаленного сервера MySQL, как если бы она выполнялась в вашем локальном поле. "
И приведу пример, используя PuTTY
„Создать сессию в PuTTY с помощью сервера IP-адрес в качестве имени хоста и порт 21098“
Дело в том, что мне нужен Python скрипт для делать это автоматически без какого-либо запроса пароля и т.д.
Прочитали что-то о paramiko, но не поняли, как SSH-то новое для меня (кроме доступа к моей машине Линукса).
Я могу успешно войти в систему вручную через командную строку в мою учетную запись хостинга после ввода пароля, но это примерно все, потому что тогда я не знаю, как запустить скрипт, который находится на моей машине.
ssh -p 21098 [email protected]
Edit:
Великий, что-то, по крайней мере сейчас происходит после того, как очистить мой каталог питона (остальные paramiko.py файл созданные проблемы). также сделал небольшое изменение в строке 2 вашего сценария (SSH = SSHClient() - >> SSH = paramiko.SSHClient())
Тогда сделал следующее:
ssh -p 21098 [email protected]
для входа в пульт дистанционного управления хост, и после успешного Логин вводит пароль
ssh-keygen -t rsa
создан ключ без pasphrase который я потом рекуперируемый через FTP, чтобы сохранить его в моей локальной папке машины
/home/daniel/python_scripts/sshkey
назад к моей локальной машине я тогда работать под питона скрипт
#!/usr/bin/python
import paramiko
#clean the screen
os.system('clear')
myPkey = paramiko.RSAKey.from_private_key_file('/home/daniel/python_scripts/sshkey/key')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #if you want to auto add the host RSA key
ssh.connect('server137.web-hosting.com', 21098, 'my_username', pkey=myPkey)
sys.exit()
, но это то, что я получил:
Traceback (most recent call last):
File "./my_vimeo.py", line 13, in <module>
ssh.connect('server137.web-hosting.com', 21098, 'my_username', pkey=myPkey)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 307, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 519, in _auth
raise saved_exception
paramiko.ssh_exception.AuthenticationException: Authentication failed.
«my_username», очевидно, не один, как показано ....
Все, что есть что-то, что я не понимаю, и, очевидно, неправильно .....