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

scp copyИногда бывает так, что доступ к удаленному компьютеру есть только по 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<port> указывает настандартный порт 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

Midnight Commander & scp

В программе Midnight Commander (команда запуска mc) существует простейший графический интерфейс для работы через scp.
После запуска, нажимаем F9(Меню) и выбираем Правая панель или Левая панель > Shell-соединение. В появившейся строке набираем параметры соединения. Подсказка синтаксиса, через F1.


/#sh:mik@gw:P6666/home/mik

где P6666 – это дополнительная опция, указан нестандартный порт ssh.

Указываем параметры соединения

Теперь можно копировать файлы в привычном режиме право-лево 🙂

Запись опубликована в рубрике SSH с метками , , . Добавьте в закладки постоянную ссылку.

2 комментариев Копируем файлы через SSH

  1. Сергей говорит:

    Не получается воспользоваться вашей инструкцией, ровно так же как не получается использовать sshfs хотя ранее на других машинах прошлых версий убунту проблем не возникало.
    Компьютеры соеденены патчкордом напрямую
    ПК 1: 192.168.1.1 255.255.255.0
    ПК 2: 192.168.1.2 255.255.255.0
    scp readme.txt lily@192.168.1.2:
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    It is also possible that a host key has just been changed.
    The fingerprint for the RSA key sent by the remote host is
    далее описываются мак адреса, просьба связаться с сисадмином, и то что несовпадают ключи RSA. То есть система у меня не спрашивает пароль удалённой машины. Куда “копать” то?

    • mik говорит:

      А посмотрите на той машине где делает scp команду в файле known_hosts строчку с ip адресом 192.168.1.2. Удалите эту строку редактором и заново попробуйте.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *