SSH Linux
Содержание |
Ограничение на подключения
Разрешаем подключение только указанным пользователям:
AllowUsers user1 user2
Разрешаем всем, кроме указанных пользователей:
DenyUsers user3 user4
Подробней о ограничениях см в статье в on-line журнале о Linux
Подключаемся из Linux к Linux
- Чтобы подключаться без пороля по защищённому соединению ssh, нужно создать пару ключей (публичный и приватный) командой ssh-keygen. Ключи будут храниться в файлах $HOME/.ssh/id_rsa (приватный) и $HOME/.ssh/id_rsa.pub (публичный). Приватный ключ должен остаться в своём каталоге в секрете, а публичный мы будем раздавать всем, к кому желаем подключиться.
- Для генирации ключа запускаем от пользователя. На запрос пароля жмём enter, чтобы не пришлось потом вводить этот пароль при подключении. Итак, создаём:
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/pavel/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/pavel/.ssh/id_rsa. Your public key has been saved in /home/pavel/.ssh/id_rsa.pub. The key fingerprint is: da:eb:83:04:f4:d2:1f:52:b7:90:5c:cb:1b:2e:ee:59 pavel@teo.mynetwork.ru
- Чтобы разрешить (запретить = no) подключение пользователем root в /etc/ssh/sshd.conf (или /etc/openssh/sshd_config) меняем:
PermitRootLogin yes PermitEmptyPasswords no PasswordAuthentication yes
- Публичный ключ нужно скопировать на удалённый компьютер в домашнюю директорию пользователя, которым будем подключаться, в файл $HOME/.ssh/authorized_keys, т.е. для root это /root/.ssh/authorized_keys, а для пользователя pavel это будет /home/pavel/.ssh/authorized_keys. В этом файле по одному в строку будут располагаться все публичные ключи удалённых пользователей, которым мы дадим доступ для такого соединения.
- Проверяем. Пытаемся подключиться к удалённому компьютеру пользователем pavel:
[pavel@teo .ssh]$ ssh pavel@10.0.0.254 [pavel@astra pavel]$
По смене приглашения командной строки видим, что подключились удачно.
Подключаемся из Windows к Linux
Схема подключения та же самая, только в Windows для подключения используем программу PuTTY, а для генерации ключей puttygen.exe от того же производителя. Всё это можно бесплатно скачать с официального сайта http://www.chiark.greenend.org.uk/~sgtatham/putty/
- Создаём ключ:
1) выбираем тип ключа SSH-1(RSA),
2) нажимаем "Generate" и водим мышкой, пока не заполнится прогресс-бар,
3) нажимаем "Save public key", задаём имя rsa1.pub
4) нажимаем "Save private key", задаём имя rsa1.ppk
- Создаём подключение. Запускаем putty.exe и указываем: Host Name: 10.0.0.254, Port: 22, Saved Sessions: 254 (любое имя соединения)
- В категории Connection -> Data -> Auto-login username: pavel
- В категории Connection -> SSH -> Auth -> Private key file ... жмём кнопку Browse, выбираем rsa1.ppk
- В категории Connection -> SSH ->Preferred SSH protocol version выбираем "1"
- В категории Window -> Translation выбираем кодировку удалённой системы, при несовпадении кодировки в mc вместо псевдографики будет мусор
- Возвращаемся в категорию Session и сохраняем настройки, нажимая кнопку Save.
- Подключаемся к серверу: жмём Open. Т.к. публичный ключ мы ещё не добавили, то придётся ввести пароль.
- Здесь действия теже, что и при подключении из Linux. Добавляем содержимое файла rsa1.pub в домашний каталог пользователя /home/pavel/.ssh/authorized_keys.
- На этом всё. Загружаем PuTTY и щёлкаем два раза по названию соединения 254. Теперь мы должны подключиться к серверу 10.0.0.254 пользователем pavel без запроса пароля.