Ответы пользователя по тегу SSH
  • Как скачать архив по ssh?

    Vindicar
    @Vindicar
    RTFM!
    scp нужно запускать на своей машине. Например, так:
    scp user@server:/path_to_file/admin.2021-11-03_05-13-58.tar target_path/admin.2021-11-03_05-13-58.tar
    где user - имя пользователя,
    server - сервер, откуда качаешь файл.
    /path_to_file/ - полный путь к файлу
    target_path - путь на твоей машине куда качаешь файл.
    Это скачает файл с удалённой машины на твою. Если укажешь пользователя и сервер во втором параметре, то будет копировать с твоей машины на удалённую.
    Ответ написан
    4 комментария
  • Как открыть ssh туннель на python?

    Vindicar
    @Vindicar
    RTFM!
    Посмотри в сторону Parallel-SSH, в частности под-модуля NativeTunnel. Но насколько я понимаю, с туннелями всегда морока.
    Ответ написан
  • Как исправить ошибку в коде Python?

    Vindicar
    @Vindicar
    RTFM!
    А почему так много аргументов subprocess.Popen()?
    "powershell putty.exe ", login, "@", name_server, " -pw", password, - 6 штук.
    В документации четко написано: "args should be a sequence of program arguments or else a single string or path-like object. "
    А также:
    class subprocess.Popen(args, #и так далее
    args без звёздочки, так что это должен быть ОДИН аргумент. Т.е. коллекция строк, например, список.
    Ответ написан
  • Как подключиться к базе данных на другом сервере?

    Vindicar
    @Vindicar
    RTFM!
    Поищи по "SSH port forwarding". Вот хороший пример.
    Если коротко, есть три варианта. Локальный форвардинг означает "любой коннект на указанный порт на локальной машине должен пробрасываться на SSH сервер, а сервер должен пробрасывать его на указанный порт на указанном адресе".
    Удалённый форвардинг означает "любой коннект на указанный порт на SSH сервере должен пробрасываться на этот клиент, а клиент должен пробросить его на указанный порт на указанном адресе."
    Динамический форвардинг проще, но менее контролируемый. Он означает "клиент слушает указанный локальный порт и притворяется SOCKS-прокси. Любое соединение пробрасывается через SSH-сервер, который соединяется с целевым адресом по своему усмотрению."
    Любой форвардинг длится, пока длится SSH-сессия.
    Так что в твоём случае нужен локальный форвардинг. При этом поскольку сервер БД на одном хосте с сервером SSH, ssh-сервер должен пробрасывать соединения на localhost:порт сервера бд. А твоё ПО будет коннектиться на localhost твоей машины, и тот порт, который ты указал как локальный. Можешь для простоты задать его таким же, как порт сервера БД.
    Ответ написан
    Комментировать