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

Рассмотрим два варианта: 1. Копирование с Linux на FreeBSD, 2. Копирование с Windows  на FreeBSD.

1. Копирование c Linux  на FreeBSD
 
SCP (от англ. secure copy) — протокол RCP копирования файлов, использующий в качестве транспорта не RSH, а SSH.
 
В UNIX-подобных операционных системах существует одноимённая (scp) утилита удалённого копирования файлов (входит в состав openssh).
 
Отдельные ключи для доступа к ssh мы создавать не будем, т.к. передача будет происходить внутри нашей сети, будем принимать тот, который передает наш сервер.
 
Проверяем доступ по ssh:
 
/home/user2$ ssh user1@192.168.1.4 -p 4428

The authenticity of host '[192.168.1.4]:4428 ([192.168.1.4]:4428)' can't be established.

RSA key fingerprint is 89:7a:42:b7:19:f9:72:f7:b2:26:ca:64:4b:84:53:8c.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes

Warning: Permanently added '[192.168.1.4]:4428' (RSA) to the list of known hosts                
Password:                     
Last login: Wed Sep  7 15:17:45 2011 from 192.168.1.8 
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California.  All rights reserved.
FreeBSD 8.2-PRERELEASE (main_kernell.2011-31-01) #3: Tue Feb  1 09:48:42 MSK 2011               
Welcome to FreeBSD! 

Before seeking technical support, please use the following resources:
o  Security advisories and updated errata information for all releases are     
at http://www.FreeBSD.org/releases/ - always consult the ERRATA section   
for your release first as it's updated frequently.        

The Handbook and FAQ documents are at http://www.FreeBSD.org/ and, 
along with the mailing lists, can be searched by going to     
http://www.FreeBSD.org/search/. 

If the doc distribution has been installed, they're also 
available formatted in /usr/share/doc. 

If you still have a question or problem, please take the output of 
`uname -a', along with any relevant error messages, and email it
as a question to the questions@FreeBSD.org mailing list.  If you are
unfamiliar with FreeBSD's directory layout, please refer to the hier(7) 
manual page.  If you are not familiar with manual pages, type `man man'. 

You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement. 

$
Как мы видим, доступ по ssh у нас есть.
 
Рассмотрим команду подробнее - 
ssh user1@192.168.1.4 -p 4428
где -
user1 - пользователь, которому разрешен доступ по ssh на удаленный сервер
 
192.168.1.4. - айпи адрес хоста, к которому мы подключаемся
 
-p 4428 - нестандартный порт, на котором работает ssh на удаленном сервере (если используется стандартный, то у казывать не нужно).
 
Обратите внимание, если в настройках ssh (/etc/ssh/sshd_config) стоит PermitRootLogin no, то подключиться по shh от имени рута вы не сможете.
 
Итак попробуем передать файл на удаленный сервер:
/var/log$ scp -P 4428 /home/user2/123.txt user1@192.168.1.4:/home/user1                                                                
Password:                                                                                                                                                                           
123.txt                           100%    2     0.0KB/s   00:00  
 
Формат:
scp -P port SourceFile user@host:/directory/TargetFile
где
-P port - адрес нестандартного порта, если стандартный не указываем
 
SourceFile - исходный файл (если находимся не в той же директории где расположен файл, то указываем полный путь)
 
user - имя пользователя на удаленном хосте
 
host - адрес или имя удаленного хоста
 
/directory/TargetFile - полный путь и имя этого файла на удаленном хосте
 
Для того чтобы скопировать папку (структуру папок) на удаленный сервер добавляем ключ -r
scp  -r -P port SourceFile user@host:/directory/TargetFile
Копирование с удаленного сервера на локальную машину
Папки -
scp -r -P port user@host:/directory/SourceFolder TargetFolder
Файлы -
scp -P port  user@host:/directory/TargetFile SourceFile
 
2. Копирование с Windows  на FreeBSD.
 
Для копирования с Windows по ssh существует как минимум два способа: 1 - с помощью утилиты pscp входящей в состав putty, 2 - с помощью графической утилиты WinSCP
 
1. Копирование с помощью pscp.
В командной строке (для Windows 7 необходимо открывать от имени Администратора) -
 
Передача файла в сторону сервера
c:\Program Files\putty>pscp -P 4428 c:\123.txt user1@192.168.1.4:/home/user1/123.txt
Using keyboard-interactive authentication.
Password:
123.EXE              |          2 kB |   0.3 kB/s | ETA: 00:00:00 | 100%
 
Передача файла от сервера SSH к клиенту
c:\Program Files\putty>pscp -P 4428 root@192.168.1.4:/home/user1/123.txt c:\123.txt
Using keyboard-interactive authentication. 
Password: 
123.txt           |          2 kB |   1.8 kB/s | ETA: 00:00:00 | 100% 
 
Для копирования папок также используется ключ -r
Остальные ключи можно посмотреть здесь
 
2. Графическая утилита WinSCP
 
Тут описывать особо нечего, обычный двухпанельный файловый менеджер, выкладываю только скриншоты.
Удачи!
 

Также интересно:

 

Интересное на сайте: 
0
Голосов пока нет