Передача файлов через SSH

21 Dec 2012 | Автор: dd |

Для администрирования удаленных серверов всем хорош ssh- и быстрый и безопасный и удобный. Но иногда бывает необходимо залить какой нибудь файл с или на администрируемый сервер, и тогда начинаешь ломать голову, как это сделать, то ли втыкать флешочку, то ли поднимать на коленке ftp сервер, который все таки является небезопасным соединением.

Естественно, что под SSH сервером можно поднять так называемый безопасный FTP сервер-  SFTP, являющийся частью сервера SSH, но опять же это все требует некоторых перенастроек системы.

Но есть возможность скопировать файлы с сервера, не прибегая ни к чему, кроме ssh, так как в него по умолчанию уже встроен функционал копирования файлов scp. Естественно что копировать он может только на сервера с запущенным SSH сервером, так как обращается на прослушиваемый порт, так что для того чтобы закачать с сервера какой либо файл, на сервер с IP:1.1.1.1, говорим:
# scp /temp/file.txt username@1.1.1.1:/tmp/
где username – аккаунт имеющий ssh доступ на сервере 1.1.1.1 с правами записи в каталог /tmp/

если же мы наоборот хотим скопировать на наш сервер, то даем команду:
# scp username@1.1.1.1:/tmp/file.txt  /temp/file.txt

или же вообще говорим для двух удаленных серверов:
# scp username@1.1.1.1:/tmp/file.txt   username@2.2.2.2:/tmp/

Этот механизм кстати удобно использовать при создании архивов и резервных копий на нашем сервере, когда мы бэкапим базу данных и содержимое директорий, после чего закачиваем их на удаленный SSH сервер.

Тем не менее для этого необходимо иметь сторонний SSH сервер, тогда если же мы хотим скопировать файло к себе на диск, то мы должны либо поднимать у себя SSH сервер и форвардить его наружу в Интернет, либо воспользоваться протоколом PSCP, имеющего одного ограничение- на стороне сервера версия ssh должна быть 2.

Скачиваем с офф.сайта разработчиков putty, приладу pscp, кладем её в какую либо папку, после чего прописываем пути в системе
set PATH=C:\path\to\putty\directory;%PATH%

либо же кладем в одну директорию обе прилады: putty и pscp и стартуем pscp из этой локации:
C:\>cd c:\temp
C:\>pscp username@1.1.1.1:/temp/file.txt c:\temp\

При выполнении команды с использованием домена у меня было вывалилась ошибка
ssh_init: Host does not exist

но оказалось, что я просто забыл скопировать putty в директорию к pscp, хотя все таки от греха поменял на IP адрес.

VN:F [1.9.21_1169]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.21_1169]
Rating: +1 (from 1 vote)
Передача файлов через SSH, 10.0 out of 10 based on 2 ratings

Теги: , ,

Отзывов: 6 на «Передача файлов через SSH»

  1. Автор: Виктор на 24 Dec 2012

    а чем плох winscp?

    [Reply]

    anchous Reply:

    а я где то написал, что он плох?

    [Reply]

    Виктор Reply:

    Ну просто подумалось, что коль что-то качать и приживлять, не легче ли скачать сам winscp… :-)

    а так очень познавательно!

    [Reply]

    anchous Reply:

    ну тут тема такая, что путтю ставить не надо, да и можно не прописывать ничего, главное в одну папку засунуть файлы.
    хотя в плане интерфейса да, wincp удобнее, но тогда не было бы темы для статьи ;)
    чо там- скачал, поставил, вбил логин и шуршишь.
    все тривиально

    VN:F [1.9.21_1169]
    Rating: 5.0/5 (1 vote cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)
  2. Автор: NAil на 04 Jan 2013

    да. правильно FTP зло.
    вот юзаю так называемый SFTP в filezilla.
    безопасно ли это ?

    ftp не хочу прикручивать…

    [Reply]

    anchous Reply:

    смотря для чего- шансов что угонят пароль гораздо меньше, а если юзать до кучи еще и сертификаты под это дело, так и вообще миссия невыполнима будет

    [Reply]

    VN:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)

Ваш отзыв