Мне нужно переместить 5 гигабайт файлов с одного удаленного хоста на другой удаленный хост, что не делает команду scp доступной через консоль. Поэтому я обдумываю любые другие варианты, кроме первой загрузки файлов на мой локальный компьютер, только для того, чтобы повторно загрузить их на конечный сервер.
Целевой сервер использует sftp. Можно ли запустить загрузку sftp на целевой сервер через консоль ssh?
Если да, то каковы схемы команд?
Ответы:
Ключи SSH означают, что как пользователь, скажем, pixeline, когда вы входите в систему на сервере C, когда вы набираете
Он соединяет вас напрямую с запросом пароля.
Если есть ключи, то это должно работать для вас
Это не будет хорошо работать без открытых ключей SSH - это шаг за шагом, как: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html
ПРИМЕЧАНИЕ: ваш домашний каталог должен иметь защиту не менее 755, а каталог .ssh в домашнем каталоге должен быть 700. На всех 3 серверах.
Веселитесь ... Вы ДОЛЖНЫ заставить это работать, и если вы хотите сделать все файлы за один раз, мы можем попробовать tar.
источник
Если все серверы основаны на Linux или Unix, вы можете использовать rsync, так как это будет самый быстрый способ завершить его.
источник
Если sftp доступен на удаленном сервере, команда для его вызова будет (барабанная дробь, пожалуйста):
Он работает так же, как почти любая другая программа CLI FTP. Объяснение всего, что вы можете с ним сделать, является немного большим для ответа суперпользователя, поэтому просто прочитайте его справочную страницу.
Теперь было бы немного необычно, если бы система была настроена так, чтобы запретить scp, но разрешить sftp. Не то чтобы его нельзя было настроить таким образом, но большинство администраторов блокируют один блок другим.
Если вы оказались в этой лодке, вы можете использовать тот факт, что ssh позволяет вам выполнять удаленные команды через любую программу архивирования или копирования, которая будет работать с stdin и stdout. Например:
или же
Это работает, потому что, если эти программы не имеют указанного файла, они по умолчанию используют stdin или stdout в зависимости от ситуации. Таким образом, вы создаете архив или извлекаете файл и выводите результат в stdout, а затем передаете этот stdout в stdin из ssh, который запускает программу, которая преобразует его обратно в нужные вам файлы.
В зависимости от условий вашей сети и характеристик файла, вы можете захотеть вызывать части sftp или ssh этих команд с -C, чтобы сжать трафик, чтобы это не заняло много времени.
источник