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

42

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

    
задан el_pup_le 25.08.2011 в 02:27
источник

6 ответов

48

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

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

sudo apt-get install openssh-server 

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

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

ssh [email protected] , например, если мое имя пользователя cyrex , а сайт ubuntu.com , то вы сделаете следующее:

ssh [email protected]

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

scp bubblegum.txt [email protected]:/var/www 

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

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

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

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

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

rsync --progress --partial bubblegum.txt [email protected]:/var/www  

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

rsync -P bubblegum.txt [email protected]:/var/www  

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

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

man rsync  
info rsync  
rsync --help

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

ssh [email protected] -p PORT . Например: ssh [email protected] -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 из инструментов GUI, таких как filezilla , которые предлагают возможность использовать ssh вместо ftp. ssh также можно получить из меню Ubuntu:

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

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

man ssh  
info ssh  
ssh --help
    
ответ дан Luis Alvarado 25.08.2011 в 02:47
источник
23

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

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

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

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

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

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

    
ответ дан jamesadney 25.08.2011 в 02:56
6

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

См. Ссылка :

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

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

mkdir ~/far_projects
sshfs -o idmap=user [email protected]:/projects ~/far_projects

Чтобы отключить,

fusermount -u ~/far_projects

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

sshfs#[email protected]:/projects /home/$USER/far_projects fuse defaults,idmap=user 0 0

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

    
ответ дан Stacey Richards 29.08.2011 в 23:39
4

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

ssh [email protected]

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

    
ответ дан Dang Khoa 25.08.2011 в 02:29
2

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

ssh [email protected]

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

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

Теперь вы, вероятно, захотите настроить вход в систему без пароля. Если у вас уже нет ключа, наберите ssh-keygen и просто нажмите enter для всех значений по умолчанию. Затем сделайте ssh-copy-id [email protected] . Как только это будет сделано, просто введите ssh [email protected] и вам не нужно вводить пароль!

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

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

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

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

    
ответ дан Matt 25.08.2011 в 15:35
0

ssh -X -C [email protected] nautilus --no-desktop для перехода в режим gui:)

    
ответ дан morgie 25.08.2011 в 14:34