Копируем файлы через SSH

Категории: Программирование

Иногда бывает так, что доступ к удаленному компьютеру есть только по ssh. А надо как-то обмениваться файлами, заливать конфигурационные файлы и т.д. В таком случае используют команду scp. Программа scp используется для копирования файлов с одного хоста на другой. Она действует практически аналогично программе ssh. Т.е. использует аутентификацию пользователя и обеспечивает шифрование передаваемых данных. Когда файл передается или записывается на компьютер scp запрашивает пароль от ssh соединения пользователя, а также может работать по ключам ssh.
Если у вас стоит ssh клиент, то устанавливать ничего не потребуется, а иначе устанавливаем пакет Openssh.

Консольное использование scp

В следующем примере файл readme.txt копируется из текущего каталога пользователя в корневой каталог пользователя mik на удаленном хосте 192.168.0.17


mik@gw:~$ scp readme.txt mik@192.168.0.17:
mik@192.168.0.17's password:
readme.txt                                         100%    0     0.0KB/s   00:00

Обратите внимание, что команда заканчивается на :. Если после двоеточия ничего не указывать, то это будет считаться корневой директорией пользователя (/home/user) удаленного компьютера. После двоеточия обычно указывают название папки на удаленном хосте, или измененное название имени файла, который мы передаем. К примеру:


scp readme.txt mik@192.168.0.17:./temp/upload/

Мы скопировали наш readme.txt в папку , которая находится на удаленном компьютере по пути /home/mik/temp/upload/. Не забывайте в команде scp писать пути относительно пользовательской директории /home/user
А вот так


scp readme.txt mik@192.168.0.17:./temp/upload/test.txt

мы скопировали файл и одновременно переименовали его в test.txt.

При копировании файла с удаленной системы, просто переставьте местами пути назначения


scp mik@192.168.0.17:./temp/upload/test.txt readme.txt

Будьте внимательны, если в то место куда вы копируете файлы файл с таким названием уже существует, то он перетрется новым файлом без предупреждения.
На заметку вам несколько ключей, которые возможно понадобятся с работой scp.

  • -q отключает вывод каких либо данных  на экран при копировании
  • -r копирует целые каталоги
  • -v подробный информативный режим
  • -C включает режим сжатия данных
  • -P указывает настандартный порт ssh

Пример использования дополнительных ключей scp.


mik@m1k:~$ scp -P6666 -v ./temp/upload/test.txt mik@gw:
Executing: program /usr/bin/ssh host gw, user mik, command scp -v -t .
OpenSSH_5.2p1, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /home/mik/.ssh/config
debug1: Applying options for *
debug1: Applying options for gw
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: auto-mux: Trying existing master
Sending file modes: C0644 0 test.txt
Sink: C0644 0 test.txt
test.txt                                                   100%    0     0.0KB/s   00:00

Источник: Unix Tips & Tricks

Ключевые слова: ssh, unix, scp, копирование файла через scp

Пока никто не прокомментировал =(. Будьте первым.


Добавить комментарий


Share |