Копирование файлов в SSH через командную строку

После подключения к целевой системе вы можете передавать файлы на сервер или, наоборот, к себе на устройство. Для передачи файлов по SSH в Linux-системах и Widows используются:

  • scp — команда для копирования файлов в Linux. Утилита входит в состав OpenSSH и не требует установки.

  • pscp.exe — утилита для передачи файлов в Windows. Входит в состав PuTTY.

  • WinSCP — утилита для передачи файлов в Windows. Файлы можно передавать как через интерфейс, так и через командную строку.

Если файл, который вы хотите скопировать, уже существует на целевом ресурсе, он будет перезаписан.

Копирование файлов по SSH на Linux

Для копирования файлов по SSH в Linux-системах используется команда scp. Вы можете:

  • загрузить файл с локального компьютера на удаленный сервер.

  • скачать файл с удаленного сервера на локальный компьютер.

Общий вид команды

scp -P [порт_воркера] [УЗП]@[ПУЗ]@[адрес_ресурса]@[адрес_воркера]:[путь_на_ресурсе] [путь_на_локальной_машине]

Если для подключения к целевому ресурсу используется нестандартный порт, например 2223, то после адреса ресурса нужно добавить порт с символом карет ("^"):

scp -P [порт_воркера] [УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[путь_на_ресурсе] [путь_на_локальной_машине]

Загрузить файл с компьютера на сервер

Чтобы передать файл на сервер, введите команду вида:

scp -P [порт воркера] [путь_на_локальной_машине] [УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[путь_на_ресурсе]

Пример

scp -P 2222 ./test.txt  i.ivanov@pamtestuser@target-ssh-01.target.pam.bi.zone^2223@test.dev.pam.bi.zone:~/

Файл test.txt будет скопирован на ресурс target-ssh-01.target.pam.bi.zone.

Скачать файл с сервера на компьютер

Чтобы скачать файл с сервера, введите команду вида:

scp -P [порт воркера] [УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[путь_на_ресурсе] [путь_на_локальной_машине]

Пример

scp -P 2222 i.ivanov@pamtestuser@target-ssh-01.target.pam.bi.zone^2223@test.dev.pam.bi.zone:~/test.txt ./

Файл test.txt будет загружен с сервера target-ssh-01.target.pam.bi.zone на локальный компьютер.

Копирование файлов по SSH на Windows

Для копирования файлов по SSH в ОС Windows используется утилита pscp.exe, которая входит в состав PuTTY. Если PuTTY не установлена на локальном компьютере, обратитесь к системному администратору.

Общий вид команды

pscp -P [порт_воркера] [УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[путь_на_ресурсе] [путь_на_локальной_машине]

Если для подключения к целевому ресурсу используется нестандартный порт, например 2223, то после адреса ресурса нужно добавить порт с символом карет ("^"):

pscp -P [порт_воркера] [УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[путь_на_ресурсе] [путь_на_локальной_машине]

Загрузить файл с компьютера на сервер

Чтобы передать файл на сервер, введите команду вида:

pscp -P [порт воркера] [путь_на_локальной_машине] [УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[путь_на_ресурсе]

Пример

pscp -P 2222 ~/test.txt  i.ivanov@pamtestuser@target-ssh-01.target.pam.bi.zone^2223@test.dev.pam.bi.zone:~/

Файл test.txt будет скопирован на ресурс target-ssh-01.target.pam.bi.zone.

Скачать файл с сервера на компьютер

Чтобы скачать файл с сервера, введите команду вида:

pscp -P [порт воркера] [УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[путь_на_ресурсе] [путь_на_локальной_машине]

Пример

pscp -P 2222 i.ivanov@pamtestuser@target-ssh-01.target.pam.bi.zone^2223@test.dev.pam.bi.zone:~/test.txt ./

Файл test.txt будет загружен с сервера target-ssh-01.target.pam.bi.zone на локальный компьютер.

Копирование файлов в WinSCP через командную строку

Передать файлы между сервером и локальным компьютером можно через WinSCP в командной строке. Для cmd иPowerShell синтаксис будет отличаться.

Общий вид команды

cmd

"C:\Путь\к\WinSCP.com" /command "open scp://[УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[порт воркера]/" "[operation] [локальный_путь_или_удаленный_путь] [удаленный_путь_или_локальный_путь]" "exit"

PowerShell

& "C:\Путь\к\WinSCP.com" /command "open scp://[УЗП]@[ПУЗ]@[адрес_ресурса]^[порт_ресурса]@[адрес_воркера]:[порт воркера]/" "[operation] [локальный_путь_или_удаленный_путь] [удаленный_путь_или_локальный_путь]" "exit"

Загрузить файл с компьютера на сервер

Чтобы передать файл на сервер, используйте операцию put.

Пример

cmd

"C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open scp://i.ivanov@pamtestuser@target-ssh-01.target.pam.bi.zone^2223@worker.pam.zone:2222/" "put C:\Users\you\Desktop\test.txt /remote/path/" "exit"

PowerShell

& "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open scp://i.ivanov@pamtestuser@target-ssh-01.target.pam.bi.zone^2223@worker.pam.zone:2222/" "put C:\Users\you\Desktop\test.txt /remote/path/" "exit"

Файл test.txt будет скопирован на ресурс target-ssh-01.target.pam.bi.zone.

Скачать файл с сервера на компьютер

Чтобы скачать файл с сервера, используйте операцию get.

Пример

cmd

"C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open scp://i.ivanov@pamtestuser@target-ssh-01^2223@worker.pam.zone:2222/" "get /remote/path/test.txt C:\Users\you\Downloads\" "exit"

PowerShell

& "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open scp://i.ivanov@pamtestuser@target-ssh-01^2223@worker.pam.zone:2222/" "get /remote/path/test.txt C:\Users\you\Downloads\" "exit"

Файл test.txt будет загружен с сервера target-ssh-01.target.pam.bi.zone на локальный компьютер.