Вопрос: Использование командной строки PuTTY для загрузки файла через SSH


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

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

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


2
2018-03-13 11:38


Источник




Ответы:


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

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


8
2018-03-13 11:43



Спасибо за Ваш ответ. На данный момент я его поддержал. Больше всего мне нужна командная строка. Но я проверю WinSCP :) - Tom
winscp можно использовать через cli, так что это просто вопрос вкуса в клиентах. - Frank Thomas


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

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-сервер должен разрешить проверку подлинности с открытым ключом.


5
2018-03-13 12:29



Это кажется идеальным решением. Я оставлю этот вопрос открытым в течение некоторого времени, чтобы получить больше ответов. (Но я подозреваю, что буду отмечать это как ответ.) Я оставил ваш ответ на данный момент :) - Tom