2

Я изучаю различные варианты написания программы, которая может автоматизировать загрузку файлов на SSH-сервер. Мне это нужно для автоматического входа в систему, перехода в разные каталоги и загрузки всех файлов оттуда.

Однако, если подумать, мне кажется, что использовать командную строку PuTTY для загрузки всех файлов из различных папок на мой компьютер с Windows проще.

В настоящее время у меня есть учетная запись root, которая мне не нужна. (Боюсь, что-то может пойти не так, и я буду виноват.) Могу ли я попросить администратора сервера предоставить мне ограниченную учетную запись только с правами чтения - и только для этих каталогов? Будет ли работать PuTTY или для работы требуется что-то особенное на SSH-сервере? Если так, то для меня это будет # 1 способ решить проблему моего клиента.

2 ответа2

8

WinSCP является хорошим клиентом для передачи файлов по SSH и может работать из Windows Cli или GUI.

Что касается прав, нет, вам не нужен root для ssh, и если они уменьшают ваши привилегии, но предоставляют вам необходимые разрешения для файлов, которые вам нужны, это должно сработать для вас. лично я не разрешаю вход в систему через ssh, но я не склонен запускать дистрибутивы, которые по умолчанию включают учетную запись root.

5

Набор утилит PuTTY включает pscp который эквивалентен команде scp OpenSSH. Вы можете использовать это так:

pscp -pw password username@remote.server.com:/path/to/folder/* c:\local\folder

Это скопирует все удаленные файлы в папке, указанной в локальной папке, и не потребует ничего особенного на удаленном конце, кроме разрешения доступа ssh ограниченного пользователя и доступа к папке.

Возможно, вы захотите изучить использование открытых / закрытых ключей, чтобы избежать необходимости вводить пароль в свои сценарии - второй ответ на этот вопрос покажет вам, как это сделать.

Тогда вы бы использовали:

pscp -i /path/to/private.key username@remote.server.com:/path/to/folder/* c:\local\folder

Для этого у учетной записи пользователя должен быть файл /home/username/.ssh/authorized_keys , а SSH-сервер должен разрешить аутентификацию с открытым ключом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .