Как использовать SSH (команды ssh & rsync)?

44

Как я могу SSH с удаленным сервером, чтобы я мог просматривать файлы и редактировать их? У меня есть имя пользователя и пароль для использования.

el_pup_le
источник

Ответы:

49

SSH поставляется по умолчанию во всех версиях Ubuntu, поэтому вы экономите на необходимости его установки (+1 за то, что он уже есть;))

За исключением, конечно, случая, когда вы хотите SSH-сервер для вашего сервера Ubuntu. В этом случае вы бы

sudo apt-get install openssh-server 

который должен сделать ваш компьютер / сервер готовым быть сервером ssh.

Использовать его довольно просто:

ssh USER@SITEнапример, если мое имя пользователя - cyrex, а сайт - ubuntu.com, вы должны сделать это:

ssh cyrex@ubuntu.com

Теперь предположим, что вы хотите скопировать файл, вызываемый bubblegum.txtс вашего компьютера, на ваш сайт Ubuntu и хотите оставить этот файл в /var/wwwпапке на сайте Ubuntu. Вы можете сделать это (при условии, что у вашего пользователя достаточно разрешений на сайте Ubuntu), используя SSH Brother, SCP (который также входит в Ubuntu по умолчанию):

scp bubblegum.txt cyrex@ubuntu.com:/var/www 

Обратите внимание на область :между USER @ SITE и папкой, в которую вы хотите ее скопировать. Это тот, который разделяет оба элемента.

Теперь предположим, что вы загружаете какой-то огромный файл с помощью scp, и тогда случается худшее, мир взрывается. Как вы можете продолжать загружать этот файл на сервер. Тогда у вас есть старший брат SCP, rsync (по умолчанию в Ubuntu). Во многих отношениях scp и rsync делают одно и то же, но между ними есть некоторые большие различия:

  • rsync может загружать частичные файлы, оставленные от rsync или scp после отключения или мирового господства.
  • rsync может показать прогресс намного лучше, чем scp
  • rsync может оптимизировать загрузку таким образом, чтобы вы могли сэкономить секунды или минуты при загрузке. В конце загрузки также показано, сколько вы сэкономили.

В любом случае, в случае, если scp не смог загрузить весь файл, это - то, где rsync приходит, чтобы спасти. (Спасибо Марко Чеппи за подсказку. Проголосуйте за его комментарий, если вы любите кошек и / или собак)

Допустим, вы загрузили упоминание выше с scp, и оно достигло 60%. Как вы можете продолжить в этих 60%, не теряя при этом время, затраченное на загрузку. Вы бы сделали это:

rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www  

Это говорит rsync, чтобы показать прогресс в удобном для человека виде с --progressфлагом. Он также говорит rsync проверить и продолжить с того места, куда попал файл bubblegum.txt с --partialфлагом. Вы также можете упростить сумму для записи с помощью параметра -P, который совпадает с --progress и --partial, поэтому приведенное выше будет выглядеть так:

rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www  

Вы можете даже CTRL+ Cзагрузить и возобновить его, выполнив команду из rsync выше. Очень здорово иметь возможность возобновить что-либо в любое время любое количество раз.

Для получения дополнительной информации о rsync, который поставляется по умолчанию с Ubuntu, вы можете ввести следующие команды терминала:

man rsync  
info rsync  
rsync --help

Теперь нужно указать порт для SSH. Чтобы указать это, вы можете сделать это так:

ssh cyrex@ubuntu.com -p PORT, Например: ssh cyrex@ubuntu.com -p 1234сказать ему использовать порт 1234 для службы SSH. Это должно быть сначала настроено на сервере, чтобы оно работало.

Чтобы настроить его, просто откройте на сервере файл ssh_config следующим образом: nano /etc/ssh/ssh_configи измените строку, в которой говорится, # port 22на другой порт. Также не забудьте удалить комментарий из этой строки. Это должно выглядеть так: port 1234в случае с примером выше.

Теперь просто перезапустите службу ssh на сервере, и все готово. Чтобы перезапустить сервис, просто сделайте это:

sudo restart ssh

или

sudo /etc/init.d/ssh restart

ПРИМЕЧАНИЕ. - Вы также можете использовать SSH из инструментов с графическим интерфейсом, например, filezillaкоторые предлагают возможность использовать ssh вместо ftp. ssh также доступен из меню Ubuntu:

введите описание изображения здесь

который дает доступ к нескольким опциям, включая общий ресурс Windows, SSH и FTP :

введите описание изображения здесь

Для получения дополнительной информации о SSH вы можете использовать одну из следующих команд в консоли в вашем Ubuntu:

man ssh  
info ssh  
ssh --help
Луис Альварадо
источник
На что ты имеешь ввиду извините?
Луис Альварадо
23

Если вы хотите просматривать сервер через Nautilus, как вы делаете это с файлами на вашем локальном компьютере:

  1. Открыть Наутилус («Домашняя папка»)
  2. Перейдите в «Файл» -> «Подключиться к серверу»

    Подключиться к серверу

  3. Выберите «SSH» в разделе «Тип сервиса»

  4. Поместите IP-адрес или домен в «Сервер»

    Выберите SSH

  5. Добавьте свое имя пользователя и отметьте «Добавить закладку», если хотите, чтобы местоположение сохранялось в ваших закладках.

Папка должна открыться прямо для вас.

jamesadney
источник
На Kubuntu можно сделать то же самое с Krusader .
Adobe
6

Вы можете использовать sshfsдля подключения удаленного каталога к вашей локальной файловой системе.

Смотрите https://help.ubuntu.com/community/SSHFS :

Использование командной строки

Теперь, если у вас есть SSH-сервер, работающий на удаленном компьютере, просто запустите команду SSHFS, чтобы смонтировать удаленный каталог. В этом примере удаленным каталогом является / projects на удаленном хосте far. Локальная точка монтирования - ~ / far_projects.

mkdir ~/far_projects
sshfs -o idmap=user $USER@far:/projects ~/far_projects

Размонтировать,

fusermount -u ~/far_projects

Чтобы добавить его в ваш / etc / fstab,

sshfs#$USER@far:/projects /home/$USER/far_projects fuse defaults,idmap=user 0 0

Обратите внимание, что вы должны изменить $ USER на ваше имя для входа при редактировании fstab, но это не обязательно при вводе команд (в этом случае оболочка сделает это за вас).

Стейси Ричардс
источник
4

Предполагая, что сервер ssh уже настроен, откройте терминал и введите:

ssh username@hostname

Вам будет предложено ввести пароль; просто введите его. Если вам нужен номер порта, добавьте -p PORTNUM.

Данг Кхоа
источник
2

Если вы можете использовать Vim, Pico и т. Д., Вы можете использовать терминал:

ssh MYUSER@mysite.com

Введите свой пароль, и вы в. Оттуда, это как обычный терминал, за исключением того, что у вас нет графического интерфейса.

Обратите внимание, вы можете добавить опцию «-X», и если на вашем сервере настроен X-сервер, вы можете запускать программы с графическим интерфейсом. Просто введите их имя, если вы добавили -X, и он запустит окно с графическим интерфейсом.

Теперь вы, вероятно, захотите настроить пароль без пароля. Если у вас еще нет ключа, введите ssh-keygenи просто нажмите Enter для всех значений по умолчанию. Тогда делай ssh-copy-id MYUSER@mysite.com. Как только это будет сделано, просто введите, ssh MYUSER@mysite.comи вам не нужно вводить свой пароль!

Если ваше имя пользователя совпадает с именем вашего ноутбука, вам это не нужно MYUSER@. Вы можете просто сделать ssh mysite.com. Вы также можете использовать -l MYUSERопцию вместоMYUSER@

Если вы хотите графический интерфейс, Наутилус может сделать это. Файл ->Подключиться к серверу ->[выберите «SSH», затем заполните регистрационные данные] -> Подключиться.

Если вы хотите просто скопировать один файл, используйте scp [secure copy].
scp MYUSER@mysite.com:path/to/file.dat ./

Это копирует файл "~ / path / to / file.dat" в ваш текущий каталог. Обратите внимание, что если после вас нет косой черты или тильды :, она будет действовать так, как будто вы находитесь в своем домашнем каталоге [ ~/]. Если вы хотите загрузить, scp ./local_file.dat MYUSER@mysite.com: Это поместит его в ваш домашний каталог.

Matt
источник
0

ssh -X -C user@host nautilus --no-desktop перейти в режим графического интерфейса :)

morgie
источник
Местный Nautilus может просто подключиться к общему ресурсу SSH. Нет необходимости запускать Nautilus удаленно. Я на самом деле не рекомендовал бы делать это. Творческое предложение, но все еще -1
Джо-Эрленд Шинстад