Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2020

Как подключиться к серверу kodomo по протоколу SSH

Ваша задача – научиться подключаться к серверу kodomo по протоколу SSH для удаленного исполнения команд. Сначала немного теории и терминов. Если вы знаете, что такое сервер, клиент, протокол, интерфейс командной строки, командная оболочка (shell), то есть, если в первой фразе вам все понятно, то смело пропускайте введение.

Введение

В большинстве компьютерных сетей есть специальные компьютеры, которые могут оказывать какие-то услуги другим компьютерам сети. Примером таких услуг (сервисов) является, например, доставка электронной почты, хранение каких-либо файлов, сообщение точного времени и так далее. Компьютер, который оказывает услугу, называют сервером, а компьютер, который услугу получает – клиентом. Для оказания наиболее распространенных услуг разработаны специальные сетевые протоколы, которые описывают, какие запросы могут посылать клиенты, и каким образом серверы могут на эти запросы отвечать. То есть, сетевой протокол – это своего рода узкоспециализированный язык, который используют компьютеры в процессе получения/оказания улуги определенного типа. Примеры широко распространенных протоколов: HTTP и HTTPS – протоколы для получения веб-страниц (изначально это были только HTML-страницы, но со временем появилось множество сопутствующей информации, вроде CSS и JavaScript), FTP – протокол обмена файлами, SMTP – протокол доставки сообщений электронной почты, SSH – протокол удаленного исполнения команд и другие.

Для того, чтобы компьютеры могли общаться по одному из сетевых протоколов, на них должны быть установлены специальные программы. Чтобы во всем этом было сложнее разобраться, эти программы тоже называют сервером и клиентом, как и компьютеры, на которых они исполняются. Например, в случае протокола HTTPS, на компьютере-HTTPS-сервере исполняется специальная программа-HTTPS-сервер, а на компьютере-HTTPS-клиенте – программа-HTTPS-клиент, которую принято называть интернет-браузером. В случае других протоколов все аналогично.

Протокол SSH разработан для удаленного исполнения команд. То есть вы можете написать команду на своем компьютере (в данном случае он будет клиентом SSH), а выполнена она будет на другом компьютере, SSH-сервере. Но сначала еще одно лирическое отступление про интерфейс командной строки.

Все ваше взаимодействие с программами на компьютере осуществляется через пользовательский интерфейс. Широко распространен графический оконный интерфейс, который должен быть хорошо вам знаком. Но есть и другой тип интерфейса – командная строка. В этом случае вы вводите название команды и какие-то её параметры текстом в специальной программе, которая потом эти команды исполняет. Программу, которая исполняет текстовые команды, обычно называют командной оболочкой (shell). В операционных системах Windows есть командная оболочка cmd. В операционных системах семейства Unix достаточно широко распространена командная оболочка bash (и вам предстоит работать именно с ней). После запуска командной оболочки перед пользователем появляется окошко, куда можно вводить текстовые команды, и где будет напечатан результат их исполнения. Но разные командные оболочки обрабатывают текстовые команды по-разному, у каждой оболочки есть свой формат команд, или язык. Чтобы было сложнее разобраться, язык написания команд в командной оболочке bash тоже называется bash. На самом деле, язык bash – это полноценный язык программирования, на следующих занятиях вам предстоит с ним вкратце познакомиться. Многие научные (и биоинформатические в частности) программы не имеют графического интерфейса и взаимодействую с пользователем только через командный интерфейс с помощью командной оболочки.

Все современные операционные системы являются многопользовательскими. Это означает, что за компьютером, под управлением такой операционной системы, могут работать разные пользователи. Для этого существуют аккаунты пользователей. Можно считать, что это просто имя пользователя с точки зрения операционной системы. Перед началом работы за компьютером пользователь осуществяет вход в систему. Чтобы удостовериться, что пользователь именно тот, за кого он себя выдает, компьютер просит его ввести секретную фразу, которую знает только настоящий пользователь, пароль. Дальше пользователь может запустить программную оболочку и начать вводить команды. Оболочка будет исполнять эти команды, учитывая, какой именно пользователь её об этом просит, какие у него в системе есть права.

Для обучения биоинформатике всем студентам заводят аккаунты на сервере компьютерного класса факультета, который называется kodomo. Это мощный (по современным меркам уже не очень) компьютер, на котором можно запускать всякие программы через командную оболочку bash. На kodomo запущена программа-SSH-сервер, благодаря чему, имея аккаунт на kodomo и установив на свой компьютер программу-SSH-клиент, вы можете взаимодействовать с командной оболочкой kodomo прямо со своего домашнего компьютера. Первое, что вам предстоит сделать на kodomo с помощью SSH и bash – изменить пароль своего аккаунта на тот, который будете знать только вы. Это вам предстоит сделать на первом занятии в пятницу. Но сначала настоятельно рекомендую установить SSH-клиент на свои домашний компьютер и научиться подключаться по SSH к серверу kodomo. (На этом заканчивается вводная часть и начинается инструкция)

Установка клиента SSH

Хорошая новость в том, что если у вас стоит Windows 10 (и если установлено необходимое обновление), Mac OS или какой-нибудь дистрибутив GNU/Linux, то, скорее всего, SSH-клиент у вас уже есть. Запускается он через командную оболочку, поэтому сначала надо запустить её.

В случае Windows вы можете поискать cmd.exe в списке программ. Более быстрый способ: удерживая клавишу с логотипом Windows, нажать клавишу R, а затем набрать в появившемся окошке "cmd" и нажать Enter.

В Mac OS есть приложение Терминал (Terminal), в десктопных GNU/Linux тоже всегда стоит как минимум один терминал, какой – зависит от дистрибутива, поищите в списке программ что-нибудь со словом Терминал/Terminal, или спросите гугл.

Если у вас более старая версия Windows, или отсутствует необходимое обновление, то клиент SSH вам придется установить самостоятельно. Рекомендуем программу PuTTY. Это SSH-клиент с графическим интерфейсом, поэтому запускается он как другие обычные программы в Windows. После запуска появится окно программы, где вам надо будет ввести нужные параметры. Как использовать эту программу вы можете узнать из презентации Артура Залевского для предыдущего курса. Если будут какие-то вопросы или проблемы при установке PuTTY или подключению к kodomo – пишите письмо преподавателям, мы обязательно постараемся помочь.

Подключение к kodomo по SSH

Когда вы запустите командную оболочку, перед вами появится приглашение командной строки, которое выглядит как какая-то информация и мигающий курсор для ввода команды. Чтобы запустить SSH-клиент, надо ввести команду ssh с правильными параметрами. Целиком команда для подключения выглядит следующим образом:

ssh <пробел> <логин>@kodomo.fbb.msu.ru

Здесь ssh – название команды, <логин> – ваше пользовательское имя на kodomo, kodomo.fbb.msu.ru – адрес сервера kodomo в интернете, между именем пользователя и адресом компьютера – символ "коммерческое at" (он же "собака", @), как в адресе электронной почты. Собственно, сам адрес электронной почты и означает "такому-то пользователю на (at) таком-то сервере".

После первого запуска команды на исполнение (т.е. нажатия <Enter>), скорее всего появится страшное предупреждение, основной смысл которого – вы еще не подключались к этому серверу. Поэтому смело нажимайте/вводите Да/Ок/Yes (зависит от конкретного клиента). Дальше вас попросят ввести пароль пользователя. Нужно будет набрать свой пароль и нажать <Enter>. Внимание, в целях безопасности при вводе пароля не будут отображаться никакие символы! Будет ощущение, что вы печатаете, но ничего не происходит. Это не так, просто напечатайте пароль без ошибок и нажмите <Enter>. Если все прошло успешно, то вы увидите приглашение командной строки bash на kodomo. Теперь можно исполнять всякие команды. Например, чтобы закончить сеанс связи с kodomo и вернуться обратно в свою командную строку, нужно выполнить команду exit.

2020/1/ssh (последним исправлял пользователь sas 2021-09-03 08:20:15)