Работа с удаленными системами c использованием SSH
Работа с удаленными системами c использованием SSH
Доступ к вычислительным ресурсам факультета ВМК МГУ осуществляется с использованием ssh , scp , sftp , Putty , WinSCP .
Система BlueGene/P доступ осуществляется по адресу
К системе Polus доступ осуществляется по адресу
К системе Tesla-cmc доступ осуществляется по адресу
Программное обеспечение
На официальном сайте стандарта SSH доступны исходные тексты и откомпилированный код для некоторых платформ (Linux, Windows, Mac OS). Кратко рассмотрим возможные варианты.
Linux
- SSH-клиент и используемая им библиотека SSL входят в комплект поставки большинства Linux-дистрибутивов. При необходимости установка из исходных кодов возможна без прав суперпользователя в домашнюю директорию. Исчерпывающую информацию по настройке и применению программ ssh и scp можно получить, обратившись к встроенной справке:
- Кроме команды scp , для копирования файлов подойдет и встроенный в Midnight Commander scp-клиент, который позволяет передавать файлы между машинами, используя панели программы:
Windows
- Существует несколько реализаций SSH для Windows. Одним из ssh-клиентов является PuTTY (см. тж. PuTTY Portable). При его настройке (раздел «Session») в поле «Host Name» нужно указать интернет-адрес системы, к которой вы хотите подключиться (например, bluegene.hpc.cs.msu.ru ), а переключатель «Connection type» выставить в положение «SSH». Чтобы не вводить при каждом подключении имя пользователя, с которым вы зарегистрированы в системе (например, myname ), его можно указать через символ ‘@’ в том же поле «Host Name» (например, myname@bluegene.hpc.cs.msu.ru ).
- Для копирования файлов можно использовать программу WinSCP (см. тж. WinSCP Portable), которая предоставляет удобный графический интерфейс. При работе в терминале будет полезна утилита pscp , входящая в пакет PuTTY. Синтаксис аргументов ее командной строки аналогичен таковому у Linux-команды scp .
- Если требуется подключиться к X-серверу, запущенному на удаленной машине (например, для интерактивной визуализации данных с помощью программы, запущенной на удаленном компьютере, без переписывания их на локальную машину), необходимо установить локальный X-сервер, например, Xming. При этом в настройках PuTTY («Connection — SSH — X11») необходимо разрешить переадресацию X11-трафика («Enable X11 forwarding») и указать адрес X-дисплея (X display location): localhost или 127.0.0.1 .
- Кроме того, можно установить Linux-подобное окружение Cygwin, в котором уже имеются программы ssh , scp , а X-сервер запускается командой
- Если вы применяете Linux из виртуальной машины типа VirtualBox, то часто можете непосредственно воспользоваться всеми преимуществами Linux-окружения: встроенными ssh , scp , и X-сервером. (Однако этот механизм может не сработать, если ваш провайдер предоставляет интернет-доступ через VPN-подключение; в таком случае необходимо отредактировать таблицы маршрутизации и/или указать в конфигурационных файлах адреса локальных DNS-серверов, но подобная настройка выходит за пределы рассматриваемых здесь вопросов.)
Mac OS
- Среди реализаций SSH для Mac OS отметим MacSSH.
Использование
Вход на систему
- Пользователь myname входит в систему bluegene.hpc.cs.msu.ru , выполнив команду или с использованием ключа -i для указания пути к открытому ключу:
- Если необходимо перенаправлять данные с удаленного X-сервера на локальную машину, в командной строке необходимо указать ключ -X : В некоторых системах, кроме ключа -X , требуется указывать еще и ключ -Y :
Копирование файлов
- Для того, чтобы скопировать файл local_file.tgz из текущей директории локальной машины в корень вашей домашней директории на удаленном компьютере, на локальной системе выполните команду (напоминаем, что команда scp имеет аналогчный синтаксис):
- Для копирования файла remote_file.tgz из корня вашей домашней директории на удаленном компьютере в текущую директории локальной машины на локальной системе выполните команду:
- В общем случае программа scp работает аналогично команде cp , т.е. можно одновременно копировать несколько файлов и использовать подстановочные символы. Например, следующая команда скопирует все архивы bz2 из текущей директории и файл ../bin/script.sh в папку
Как ссылаться на файлы
- Когда при частном общении один пользователь ( myname ) хочет сообщить другому, где в его домашней директории находится некий файл (
Текст на этой странице составлен на основе инструкций суперкомпьютерного центра SARA
Настройка SSH на сервере Linux.
SSH (англ. Secure Shell — «безопасная оболочка») удобный и безопасный способ администрировать удаленый сервер . Собственно по этому им пользуются все ). И для начала нам нужно приложения для SSH подключения. Самая известная и удобная программа под Windows это — PuTTY . Скачать ее можно с оф.сайта , там же есть и набор утилит для нее.
Там все очень просто , набираем IP сервера , вводим порт ( по умолчанию 22 ) и нажимаем open . В терминале набираем имя пользователя ( root) и пароль . Помните в Linux пароль не видно !)
Есть не зыблемое правило : под root пользователем делают только первичные настройки и больше его не используют для входя по SSH. Это на прямую связано с безопасностью сервера. По этому перед настройкой самого SSH мы сделаем нового пользователя и дадим ему право выполнять команды от лица root! Начнем .
Первым делом мы добавим нового пользователя .
# adduser test
На экране появиться что пользователь с именем test добавлен, создана одноименная группа и домашняя директория пользователя Creating home directory `/home/test’ …
Adding user `test’ …
Adding new group `test’ (1003) …
Adding new user `test’ (1002) with group `test’ …
Creating home directory `/home/test’ …
Copying files from `/etc/skel’ …
Далее водим пароль пользователя и другие данные типа имени , адреса , заметки , которые заполнять не обязательно.
Теперь нам надо дать права пользователю test выполнять команды с приставкой SUDO .
# visudo команда редактирования правил sudo
# User privilege specification
root ALL=(ALL:ALL) ALL
добавляем за ней нашего пользователя(право выполнять любые команды от имени root ) и сохраняем изменения:
Перезагружаем сервер reboot , и заходим под пользователем test.
Теперь можно перейти к настройке SSH.
sudo nano /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for
Port 22
Меняем порт со стандартного значения , например на 2222. Иначе к вам будут ломиться куча ботов.
Если у вас несколько сетевых карт (IP адресов ) вы можете задать слушать только один интерфейс , а не все.
# Authentication:
LoginGraceTime 120
120 секунд вам дается что бы залогиниться .
PermitRootLogin no
Вход под root запрещен . Это очень важно , убедитесь что у вас стоит no !
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
Черным по белому . Вход с пустым паролем запрещен .
Так же вы можете запретить вход группе или пользователю по SSH .
DenyGroups nossh ( группе nossh вход запрещен )
DenyUsers user1 user 2 user3 (Запрет пользователей)
На этом основная настройка SSH закончена , сохраняем изменения, перезагружаем сервер .
Настройки доступа по SSH с использованием ключей можно посмотреть тут.
Denian/Ubuntu. На других Linux дистрибутивах установка может отличаться.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Настройка подключения по SSH с помощью OpenSSH на Linux
SSH(Secure Shell) — очень крутой инструмент удаленного администрирования, который позволяет безопасно подключаться к консоли сервера. Перечислять причины, по которым это очень удобно можно бесконечно, достаточно просто представить, что не нужно идти в серверную, в которой скорее всего очень жарко(если это плохая серверная) или очень холодно(если хорошая), а можно со своего рабочего места подключиться напрямую.
Но хватит мечтать, пора настраивать!
Установка OpenSSH
Осуществить такое чудо можно с помощью программы OpenSSH, соответственно на сервере должен быть установлен openssh-server, а на клиенте openssh-client.
Установка на сервере
Установка на клиенте
Ничего не мешает установить клиент и сервер на одной машине и проверить работоспособность подключившись к самому себе командой
Если все работает, то вам будет предложено ввести пароль пользователя user. Естественно, такой пользователь должен существовать на сервере.
Для того, чтобы выйти из shh сессии и прервать соединение достаточно прописать команду
Теперь перейдем к более детальной настройке.
Настройка сервера
Первое о чем нужно позаботиться это смена стандартного порта для подключения, иначе уже через пару минут к вам выстроится очередь из ботов. Изменить эту и любую другую настройку можно в файле /etc/ssh/ssh_config , для порта есть строчка Port, если нет, то нужно ее дописать
После того, как позаботились о порте, не помешает определить список пользователей, которым разрешено подключаться к серверу.
Еще может быть полезным запретить подключение с пустым паролем
Не забываем перезапустить сервер
В принципе это самые основные настройки, которых хватит для добротного SSH сервера, теперь обратимся на сторону клиента.
Подключение к серверу по SSH
Со стороны клиента нам нужно знать порт, хост и имя пользователя с паролем, этого достаточно для подключения. Синтаксис простой
После этого будет предложено ввести пароль и мы в системе.
Важный вопрос, который интересовал и меня в том числе: «Как использовать графический интерфейс программ через SHH». Решение есть и сейчас я его покажу.
Подключение по SSH с графикой
Для включения графики нужно прописать настройки на обеих сторонах, заходим в файл конфигурации и пишем.
На стороне сервера
На стороне клиента
Не забываем перезагрузить ssh.
Кроме того, нужно добавить флаги в команду подключения у клиента
После этого клиент получит возможность запускать программы с графическим интерфейсом, графика будет появляться на машине клиента, но все изменения пойдут на сервер.
Заключение
Я привел только самые основные настройки, но уже с ними можно поднять SSH сервер и подключиться к нему, необязательно это должен быть сервак очень крупной фирмы, часто такое бывает нужно в процессе обучения на специальностях вроде моей. На этом у меня все, спасибо за внимание!
Как установить и настроить SSH-клиент Putty на рабочем столе Linux
SSH-клиент Putty — это бесплатный SSH-клиент с открытым исходным кодом, который вы можете использовать в системе Linux для удаленного подключения вашего сервера, системы, сетевого хранилища и других SSH-клиентов. Putty позволяет сохранять сеансы в локальном каталоге Linux. Несмотря на наличие Linux bash, вы можете задаться вопросом, зачем вам нужно устанавливать инструмент Putty в вашей системе Linux?
Что ж, ответ будет такой: большинство серверов построено на Linux, но клиенты могут использовать Windows, macOS или другие операционные системы. Использование одного и того же удаленного клиентского инструмента для обеих сторон — это не проблема.
Клиент Putty SSH в Linux
Хотя Putty изначально была разработана для настольных компьютеров Windows, многие профессиональные системные администраторы Linux чувствуют себя более комфортно, используя Putty в Linux. Установить Putty в любой системе Linux просто и легко; это не займет больше минуты. Putty написана на языке программирования C и имеет лицензию MIT. В этом посте мы увидим, как установить SSH-клиент Putty в системах Linux на базе Debian, Red Hat, Fedora и Arch.
1. Установите клиент Putty SSH в Ubuntu Linux.
Для установки клиента Putty SSH в системе Debian или Ubuntu Linux требуются права root. Чтобы установить SSH-клиент Putty в вашей системе Debian, вы можете запустить следующие командные строки aptitude, указанные ниже, в оболочке вашего терминала. Здесь я использую Ubuntu для демонстрации процесса, но следующие команды будут выполняться в других дистрибутивах Debian Linux.
$ sudo add-apt-repository universe
$ sudo apt update
$ sudo apt install putty
Если вы обнаружите какие-либо проблемы при установке Putty, вы можете вместо этого запустить команду apt-get в оболочке терминала.
sudo apt-get установить Putty
2. Установите клиент Putty SSH в Arch Linux.
Если у вас есть система Linux на основе Arch, вы можете установить Putty с помощью команд Pacman. Чтобы установить инструмент Putty в Arch Linux, выполните следующую команду Pacman с правами root в оболочке терминала. Здесь я использую Manjaro KDE Linux для демонстрации процесса, но следующие команды будут выполняться и в других дистрибутивах Linux на основе Arch.
$ sudo pacman -S Putty
3. Установите клиент Putty SSH в Red Hat и Fedora.
Установить SSH-клиент Putty в Fedora или Red Hat Linux легко и просто с помощью команд DNF и YUM. Он доступен в официальном репозитории Linux. Чтобы установить Putty в системе Red Hat Linux, выполните следующую команду YUM в оболочке терминала.
$ sudo yum install Putty
Если у вас есть рабочая станция Fedora, вам нужно запустить следующую команду DNF в вашей оболочке, чтобы установить SSH-клиент Putty в вашей системе.
$ sudo dnf install Putty
Начни с Putty
Вы можете использовать Putty для подключения другого клиента, используя имя пользователя и пароль или используя URL-адрес SSH. Чтобы открыть инструмент Putty, вы можете просто ввести Putty в оболочке терминала и нажать кнопку Enter. Вы также можете найти его в меню приложения и открыть обычным способом.
Использование клиента Putty SSH дает вам профессиональное ощущение управления сервером. Если у вас есть проблемы с его использованием на вашем компьютере с Linux, убедитесь, что в вашей сети нет стороннего сетевого блокиратора или каких-либо неправильных настроек брандмауэра.
Клиент Putty SSH настраивается и настраивается. Вы можете использовать собственное сочетание клавиш для инструмента Putty в вашей системе. Когда откроется инструмент Putty, вы увидите окно и меню, показанные на рисунке ниже.
Чтобы сделать SSH-соединения сервера и клиента безопасными через SSH-клиент Putty, вы можете использовать инструмент PuTTYgen в своей системе Linux. Это позволяет вам зашифровать ваши соединения с помощью пары открытого и закрытого ключей.
Выводы
Клиент Putty SSH без проблем работает как в системах Windows, так и в Linux. Вы также можете использовать его на машине Raspberry Pi. Если вы администратор Linux-сервера, Putty может стать для вас действительно полезным и удобным инструментом. Во всем посте я описал, как установить и использовать инструмент Putty в системе Linux. Вы также можете установить его в своей системе Linux с помощью метода установки исходного кода. Исходные коды Putty доступны здесь.
Пожалуйста, поделитесь этим постом со своими друзьями и сообществом Linux, если вы сочтете его полезным и удобным. Вы также можете записать свое мнение об этом сообщении в разделе комментариев.