Инструменты пользователя

Инструменты сайта


wiki:technical:server_connections

Это старая версия документа!


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

Сервер под управлением Windows

RDP – протокол удалённого рабочего стола, использующийся для обеспечения удалённой работы пользователя с сервером, на котором запущен сервис терминальных подключений. Клиенты существуют практически для всех версий Windows, Linux, FreeBSD, Mac OS X, Android, Symbian. По умолчанию используется порт tcp 3389. Официальное название Microsoft для клиентского ПО – Remote Desktop Connection или Terminal Services Client (TSC), в частности, клиент в Windows 2k/XP/2003/Vista/2008/7 называется mstsc.exe.

Сервер под управлением Linux, FreeBSD

SSH – сетевой протокол, позволяющий производить удалённое управление операционной системой и туннелирование tcp-соединений (например, для передачи файлов). SSH-клиенты и оболочки:

  • GNU/Linux, *BSD – kdessh, lsh-client, openssh-client, putty, ssh, Vinagre
  • MS Windows – PuTTY, SecureCRT, ShellGuard, Axessh, ZOC, SSHWindows, ProSSHD, XShell
  • MS Windows Mobile – PocketPuTTy, mToken, sshCE, PocketTTY, OpenSSH, PocketConsole
  • Mac OS – NiftyTelnet SSH
  • Symbian OS – PuTTY
  • iPhone – i-SSH, ssh (в комплекте с Terminal)
  • Android – connectBot

Использование ключей для доступа

Аутентификация по публичному ключу основана на проверке соответствия публичного ключа клиента, который размещается на сервере и секретного ключа пользователя, который расположен у клиента.

Open SSH

Генерация пары ключей осуществляется утилитой ssh-keygen на компьютере под управлением Linux, с которого выполняется подключение к серверу. При этом в каталоге пользователя образуется 2 ключа:

  1. ~/.ssh/id_rsa — секретный
  2. ~/.ssh/id_rsa.pub — публичный

Публичный ключ должен хранится на сервере в ~/.ssh/authorized_keys. При подключении к серверу пользователя, в каталогах которого лежат соответствующие ключи (в ~/.ssh/id_rsa), нет необходимости вводить пароль. В файле ~/.ssh/authorized_keys может последовательно содержаться несколько ключей для доступа к данному серверу под данным пользователем с нескольких серверов.

Создаем пару ключей:

user@hostname:~$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
a9:9c:e3:ce:df:9c:dd:0b:07:97:93:49:0a:65:7a:f3 user@hostname
The key's randomart image is:
+--[ RSA 4096]----+
|            o    |
|           +     |
|          o o .  |
|         . o = + |
|        S   o E  |
|     . o     o . |
|      =     . .  |
|     o . o o +   |
|     .+.. + . o. |
+-----------------+
  • -t – тип ключа. Доступны значения: rsa1, rsa, dsa, ecdsa
  • -b – количество бит ключа. По умолчанию для rsa - 2048.
  • passphrase – не используем (просто жмем Enter).

Проверяем наличие ключей в /home/user/.ssh/. Копируем публичный ключ на удаленную систему утилитой ssh-copy-id:

user@hostname:~$ ssh-copy-id -i ~/.ssh/id_rsa user@servername
user@servername's password: 
Now try logging into the machine, with "ssh 'user@servername'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

При следующем логине по ssh - пароль уже не потребуется.

PuTTY (Windows)

В состав PuTTY, свободно распространяемого клиента SSH для Windows, входит PUTTYGEN.EXE (PuTTY Key Generator). Его назначение – генерация пары ключей, конвертация их в различные форматы:

Указываем следующие параметры:

  • Тип ключа – SSH-2 RSA
  • Длину ключа – 4096

Жмем кнопку «Generate»:

Производим указанные действия - хаотично двигаем курсором мыши на окне PuTTY Key Generator. Это сделано для того, чтобы увеличить энтропию и увеличить вероятность случайных чисел в генераторе. После окончания генерации ключей основное окно отобразит готовый публичный ключ (поле «Public key for pasting into OpenSSH authorized_keys file») и предложит ввести комментарий к ключу (поле «Key comment:») и ввести пароль к ключу (поле «Key passphrase:»). Установка комментария полезна в случае использования более одного ключа в своей работе. Пароль увеличит безопасность. Даже при краже приватного ключа получить доступ к серверам не удастся до тех пор, пока не будет введен пароль. В данном примере мы это пропускаем:

Для записи секретного ключа нажимаем кнопку «Save private key». Сохраняем его с расширением .ppk на своем компьютере.

Для размещения публичного ключа на сервере логинимся на него обычным способом и добавляем его в ~/.ssh/authorized_keys. Например, так:

user@servername:~$ echo "public_key_text" >> ~/.ssh/authorized_keys

где публичный ключ public_key_text – мы скопировали из поля «Public key for pasting into OpenSSH authorized_keys file».

Другой способ заключается в передаче на сервер, например с помощью WinSCP, файла публичного ключа, сохраненного при нажатии кнопки «Save public key» с именем, например, public_key и добавлении его в ~/.ssh/authorized_keys с помощью утилиты ssh-keygen:

user@servername:~$ ssh-keygen -i -f /home/user/public_key >> /home/user/.ssh/authorized_keys

Отключаемся от сервера.

Запускаем снова PuTTY. Указываем в настройках (поле «Private key file for authentication») файл секретного ключа:

имя пользователя, который будет логинится на сервер (поле «Auto-login username»):

адрес сервера (поле «Host Name (or IP address)») и порт для подключения («Port»):

В поле «Saved Sessions» указываем имя для сохранения настроек и жмем кнопку «Save». Логин на сервер с сохраненными настройками будет выполнен без запроса имени пользователя и пароля.

PuTTY (Linux)

Генерация ключей производится утилитой puttygen. Секретный ключ:

user@hostname:~$ puttygen -t rsa -b 4096 -o ~/.putty/user-key.ppk
+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
Enter passphrase to save key: 
Re-enter passphrase to verify: 

Публичный ключ:

user@hostname:~$ puttygen -L ~/.putty/user-key.ppk >> ~/.putty/user-key.pub

Копируем публичный ключ на сервер с помощью ssh-copy-id:

user@hostname:~$ ssh-copy-id -i ~/.putty/user-key.pub user@servername
user@servername's password: 
Now try logging into the machine, with "ssh 'user@servername'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Настройки PuTTY описаны выше, в разделе PuTTY (Windows).

Ссылки

wiki/technical/server_connections.1400845218.txt.gz · Последнее изменение: 2017/04/07 22:46 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki