Как настроить ssh-туннелирование (перенаправление портов)

Содержание:

Использование пароля

Начнем с инструкции о том, как подключиться к удаленному серверу через SSH по логину и паролю. Это самый простой способ. Хостер предоставляет вам IP-адрес, логин и пароль. Этого достаточно для того, чтобы установить соединение с удаленным сервером.

Подключение на Windows

Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).

Чтобы включить встроенный в систему OpenSSH:

  1. Откройте «Параметры» (Win + I) и перейдите в раздел «Приложения».
  2. Выберите опцию «Управление дополнительными компонентами».
  3. Нажмите «Добавить компонент».
  4. Выберите в списке OpenSSH Client и нажмите «Установить».
  5. После завершения установки перезагрузите систему.

Теперь разберемся, как подключиться к SSH через cmd. Запустите командную строку и выполните запрос вида ssh root@185.104.114.90.

Значение root — логин для подключения, вы получили его в письме при создании сервера. 185.104.114.90 — IP-адрес сервера. Его можно посмотреть в панели управления сервером или в том же письме, которое прислал хостер. У команды может быть также дополнительный параметр -p, после которого прописывается номер порта. По умолчанию используется порт 22. Если у вас настроен другой порт, нужно явно его указать, — например, полный адрес может выглядеть так: ssh root@185.104.114.90 -p 150.

После выполнения команды клиент SSH предложит добавить устройство в список известных. Введите в командной строке yes и нажмите на Enter. Затем укажите пароль для доступа к серверу. На этом подключение завершено — теперь все команды будут выполняться на удаленной машине, к которой вы подключились.

На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:

  1. Запустите PuTTY.
  2. На вкладке Session укажите Host Name (IP-адрес сервера), Port (по умолчанию 22, но если вы в конфигурации сервера указали другой порт, нужно задать его номер).
  3. Убедитесь, что тип соединения установлен SSH.
  4. Нажмите на кнопку Open, чтобы подключиться.

Если вы ввели правильные данные, появится окно консоли, в котором нужно указать логин и пароль для подключения к серверу. При первом запуске также отобразится запрос на добавление устройства в список известных.

Подключение на Linux и macOS

Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».

  1. Запустите терминал. Обычно для этого используется сочетание клавиш Ctrl+Alt+T. Найти терминал также можно по пути «Главное меню» — «Приложения» — «Система».
  2. Выполните команду для подключения. Синтаксис такой же, как на Windows, — ssh root@185.104.114.90. Если порт не стандартный, то нужно явно его указать: например, ssh root@185.104.114.90 -p 150. Вместо root вы указываете свое имя пользователя, а вместо 185.104.114.90 — IP-адрес своего сервера.
  3. Если хост и порт указаны верно, на следующем шаге появится запрос на ввод пароля. При первом подключении также будет предложение добавить новое устройство в список известных. Для этого введите yes и нажмите на клавишу Enter.

На этом подключение завершено. Теперь все команды, которые вы вводите в терминале, будут выполняться на удаленной машине.

Если IP-адрес или порт указаны неверно, то на экране появится сообщение об ошибке — Connection Refused. Это может также говорить о том, что доступ запрещен брандмауэром на удаленном сервере (если вы его не отключили). Чтобы разрешить подключение через SSH:

  • на сервере с Ubuntu/Debian выполните команду $ sudo ufw allow 22/tcp;
  • на сервере CentOS/Fedora выполните команду $ firewall-cmd —permanent —zone=public —add-port=22/tcp.

Цифра 22 в синтаксисе — номер порта. Если вы используете другой порт, то укажите его явно.

Если вы знаете как подключиться через SSH на Linux, то справитесь с этой задачей и на macOS. В операционной системе Apple тоже есть встроенный терминал. Синтаксис команды для подключения не меняется: ssh root@185.104.114.90, где root — ваш логин, а 185.104.114.90 — IP-адрес сервера, с которым вы устанавливаете соединение. 

Static Port-Forwarding

Static port-forwarding (or tunneling) refers to situations where the desitination
host and port are known in advance.

Programs and protocols which do not use data encrpytion (e.g. ftp or rsh) can
connect to the tunnel’s port on the client computer and the ssh client will transmit
their data through the encrypted ssh connection to/from a final destination that is already
known at the time when the ssh-connection is made.

For example, a user can set up a port-forwarding on the client software, listening on the
client port 5514 and forwarding traffic to the address of an older device with a fixed IP address
on the remote network that only supports the unencrypted rsh protocol.

The user can then use a non-encrypting rsh client, connect it to localhost port 5514 and thus
will get connected via the secure shell client to the rsh server on the remote network. A normal
rsh client will not encrypt its data, but the ssh client will encrypt all traffic before sending
it through the ssh tunnel to the host on the other side
, essentially creating an encrypted rsh connection.

Управление идентификацией

$ cat ~/.ssh/config
StrictHostKeyChecking no

Парольная аутентификация

 # apt install sshpass

 # sshpass -p '123' ssh 172.16.1.13

server# sshpass -p cisco ssh switchN

server# sshpass -p cisco ssh switch1 sh int | grep line

Аутентификация с использованием ключей ssh

gate# cat /etc/ssh/sshd_config
...
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.ssh/authorized_keys
...

Генерация ключей

user1@client1:~$ ssh-keygen
...
Enter passphrase (empty for no passphrase): password1
...
user1@client1:~$ ls .ssh/

Распространение публичных ключей

linux$ ssh-copy-id gate

linux$ ssh-copy-id server

freebsd$ ssh-copy-id -i .ssh/id_rsa.pub gate

вручную

user1@client1$ ssh gate "mkdir .ssh"

user1@client1$ scp .ssh/id_rsa.pub gate:.ssh/authorized_keys
или
user1@client1$ cat .ssh/id_rsa.pub | ssh gate "cat >> .ssh/authorized_keys"

Использование ssh_agent

user1@client1$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-JaQgNr4492/agent.4492; export SSH_AUTH_SOCK;
SSH_AGENT_PID=4493; export SSH_AGENT_PID;
echo Agent pid 4493;

user1@client1$ SSH_AUTH_SOCK=/tmp/ssh-JaQgNr4492/agent.4492; export SSH_AUTH_SOCK;
user1@client1$ SSH_AGENT_PID=4493; export SSH_AGENT_PID;

или

user1@client1$ eval `ssh-agent -s`
user1@client1$ ssh-add
Enter passphrase for /root/.ssh/id_rsa:
...

student@client1$ ssh-add -l
...

user1@client1$ ssh gate

user1@client1$ ssh server

Аутентификация с использованием протокола GSSAPI

Регистрация принципалов сервиса в KDC и перемещение ключа сервиса на сервер

Debian/Ubuntu (MIT)
root@server:~# kadmin.local
kadmin.local:  addprinc -randkey host/gate.corpX.un
...
kadmin.local:  listprincs

kadmin.local:  ktadd -k gatehost.keytab host/gate.corpX.un
...
kadmin.local:  quit
server# scp gatehost.keytab gate:
FreeBSD (Heimdal)
server# kadmin -l
kadmin> add -r host/gate.corpX.un
...
kadmin> list *

kadmin> ext -k gatehost.keytab host/gate.corpX.un
kadmin> quit
server# scp gatehost.keytab gate:
Microsoft Active Directory

Добавляем пользователя в AD

Login: gatehost
Password: Pa$$w0rd

Пароль не меняется и не устаревает

C:\>ktpass -princ host/gate.corpX.un@CORPX.UN -mapuser gatehost -pass 'Pa$$w0rd' -out gatehost.keytab

C:\>setspn -L -U gatehost

C:\>pscp gatehost.keytab gate:
Samba4
server# samba-tool user create gatehost

server# samba-tool user setexpiry gatehost --noexpiry

server# samba-tool spn add host/gate.corpX.un gatehost

server# samba-tool spn list gatehost

server# samba-tool domain exportkeytab gatehost.keytab --principal=host/gate.corpX.un

Добавление ключа в системный keytab

Debian/Ubuntu (MIT)
root@gate:~# ktutil
ktutil: rkt /root/gatehost.keytab
ktutil: list
ktutil: wkt /etc/krb5.keytab
ktutil: quit

root@gate:~# klist -ek /etc/krb5.keytab
FreeBSD (Heimdal)
gate# ktutil copy /root/gatehost.keytab /etc/krb5.keytab
gate# touch /etc/srvtab

gate# ktutil list
...
gate# cat /etc/ssh/sshd_config
...
GSSAPIAuthentication yes
...
client1# cat /etc/ssh/ssh_config
...
GSSAPIAuthentication yes
...

Настройка windows клиента (Centrify putty) на использование GSSAPI

Hostname: gate.corpX.un
SSH->Auth
  Attempt "keyboard intractive": no
SSH->Kerberos 
  Attempt Kerberos Auth: yes
  User name portion of user principal name: yes
gate# kinit -V -k -t /etc/krb5.keytab host/gate.corpX.un@CORPX.UN

user1@client1$ kinit

user1@client1$ kinit -S host/gate.corpX.un@CORPX.UN
или
user1@client1$ kvno host/gate.corpX.un@CORPX.UN

user1@client1$ ssh -vv gate.corpX.un

gate# service ssh stop
gate# mkdir /run/sshd
gate# /usr/sbin/sshd -d

Аутентификация открытого ключа

Протокол SSH поддерживает различные механизмы аутентификации.

Механизм аутентификации на основе открытого ключа позволяет вам войти на удаленный сервер, не вводя пароль .

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

Если у вас еще нет пары ключей SSH на вашем локальном компьютере, вы можете создать ее, набрав:

Вам будет предложено ввести безопасную парольную фразу. Если вы хотите использовать кодовую фразу, решать вам.

Когда у вас есть пара ключей, скопируйте открытый ключ на удаленный сервер:

Введите пароль удаленного пользователя, и открытый ключ будет добавлен в файл удаленного пользователя.

После загрузки ключа вы можете войти на удаленный сервер без запроса пароля.

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

Как пользоваться PuTTY

1. Интерфейс программы

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

Рассмотрим за что отвечают те или иные вкладки программы, чтобы вы ориентировались что и где искать. У нас есть четыре вкладки:

  • Session — отвечает за подключение удаленному серверу, тут мы вводим параметры подключения, порт, адрес, а также можем сохранить все настройки putty, чтобы не настраивать каждый раз заново.
  • Terminal — позволяет включать или отключать возможности терминала;
  • Window — настройка внешнего вида окна, цвет, шрифт, кодировка;
  • Connection — настройка параметров подключения, алгоритма шифрования, сжатия, ключей аутентификации, X11 и других параметров.

Каждая вкладка имеет несколько подразделов, но мы не будем сейчас их трогать, а перейдем сразу к практике и посмотрим как подключиться putty к удаленному узлу.

2. Подключение к удаленному компьютеру PuTTY

Чтобы подключиться к удаленному компьютеру по SSH перейдите на вкладку «Session», здесь, в поле «Host Name» необходимо прописать ip адрес или имя хоста, компьютера, к которому вы хотите подключиться, в поле порт — нужно указать порт, на котором запущен SSH сервер, по умолчанию используется порт 22:

Далее, нажмите кнопку «Open». После этого появится запрос на добавление ключа сервера в список доверенных ключей, нажмите «Да»:

Затем вам будет нужно ввести логин пользователя и пароль

Важно заметить, что скопировать логин или пароль у вас не получится, необходимо только вводить вручную:

Теперь авторизация прошла успешно, и вы можете выполнять нужные действия на сервере:

3. Сохранение сессии PuTTY

Чтобы не вводить каждый раз ip и порт можно сохранить эти данные в виде сессии, для этого пропишите новое имя в поле «Saved Sessions», а затем нажмите кнопку «Save»:

Теперь вы сможете загрузить сохраненную сессию, нажав кнопку «Load».

После того как будет завершена настройка putty и все параметры будут выставлены правильно вы можете сохранить настройки и не вводить их несколько раз.

4. Имя пользователя по умолчанию

Вы можете не вводить имя пользователя каждый раз, для этого перейдите на влкадку «Connection», затем «Data» и в поле «Auto-login Username» пропишите имя пользователя, например, root:

Теперь подключение putty будет выполняться от имени этого пользователя.

5. Авторизация по ключу ssh в PuTTY

Чтобы не вводить каждый раз пароль можно настроить авторизацию по ключу. В Linux такая возможность используется очень широко потому что это удобно. Первым делом необходимо создать ключ. Для этого запустите утилиту PuTTYgen и установите переключатель в положение «SSH-2 RSA» нажмите «Generate»:

Обязательно ключ должен быть SSH-2 RSA, если в главном окне нет, выберите в меню «Key». Подвигайте мышкой, чтобы создать достаточное количество энтропии:

Ключ готов, затем, с помощью кнопок «Save Public Key» и «Save Private Key» сохраните оба ключа.

Далее, откройте PuTTY, перейдите на вкладку «Connection», затем «SSH», затем «Auth»:

Здесь необходимо нажать кнопку «Browse» и добавить недавно сохраненный приватный ключ:

Далее, возвращаемся на вкладку «Session», выбираем наше сохранение и нажимаем «Save» чтобы сохранить настройки. Осталось только отправить наш открытый ключ на сервер. Для этого авторизуйтесь на нем с помощью пароля и открытый ключ вставьте ключ в конец файла /root/.ssh/authorized_keys.

Ключ можно брать прямо из окна PuTTYgen «Public key for pasting» или из файла открытого ключа:

Все, теперь можно выходить и авторизоваться снова. На этот раз подключение по ssh putty будет выполняться с помощью нашего ключа. Не забывайте сохранять настройки сессии, чтобы не выбирать ключ каждый раз. Теперь вы знаете как пользоваться программой putty, рассмотрим еще передачу файлов.

5. Передача файлов через scp в PuTTY

Не все знают, но PuTTY позволяет передавать файлы через ssh также как это делает linux с помощью утилиты scp. Нажмите Win+R, затем пропишите cmd, чтобы запустить командную строку.

Синтаксис утилиты pcsp выглядит следующим образом:

pscp опции путь_файлу имя_пользователя@хост/путь/к/файлу/на/удаленном/хосте

Например, мы можем отправить файл из текущей папки в папку пользователя /root/:

С помощью опции -P можно задать удаленный порт:

А опция load позволяет загрузить сохраенные настройки сессии PuTTY:

Теперь вы знаете как использовать putty для передачи файлов.

Remote port forwarding

Remote port forwarding is the exact opposite of local port forwarding. It forwards traffic coming to a port on your server to your local computer, and then it is sent to a destination. Again, let’s take a look at an example.

Suppose, you’re developing a web application that’s running on port 8000 of your local computer. Other people can’t access it directly because you’re sitting behind a NAT network without a public IP. Now, you would like to show a customer how the application looks like. Fortunately, remote forwarding can help you with this. Type in:

ssh -R 7000:127.0.0.1:8000 

When you run this command, the SSH server binds to the 7000 port on example.com. Any traffic that it receives on this port is sent to the SSH client on your local computer, which in turn forwards it to port 8000 on 127.0.0.1. Now, the customer can open in a browser, and they can use your application!

Again, as with remote port forwarding, you can also use a different destination. Say for example, you want a friend to help you with configuring a router. Since they can’t access your router directly, you can use remote port forwarding like so:

ssh -R 8080:192.168.100.1:8000 

Шаг 3: Предоставление административных привилегий

На втором шаге был создан пользователь remuserbak, но администрировать с ним сервер нельзя, ибо нет у него прав таких! Придется дать ему возможность становится рутом, как говорится с чего начали — тем и закончили.

Чтобы избежать необходимости выходить из системы обычного пользователя и снова входить в систему как учетная запись root, мы можем настроить так называемые привилегии суперпользователя или root для нашей обычной учетной записи. Это позволит нашему обычному пользователю запускать команды с административными привилегиями, помещая слово sudo перед каждой командой.

Чтобы добавить эти привилегии нашему новому пользователю, нам нужно добавить пользователя в группу sudo. По умолчанию пользователям, которые являются членами группы sudo, разрешено использовать команду sudo.

От имени пользователя root выполните команду usermod, чтобы добавить нового пользователя в группу sudo (замените имя пользователя своим новым пользователем:

root@vps:~# usermod -aG sudo remuserbak

Проверим командой id добавился ли пользователь в группу sudo

root@vps:~# id remuserbak
uid=1000(remuserbak) gid=1000(remuserbak) groups=1000(remuserbak),27(sudo)

Теперь, когда вы войдя в систему как обычный пользователь remuserbak, можете ввести sudo перед командами, чтобы выполнять действия с привилегиями суперпользователя (root).

Как подключиться по SSH с помощью ключа

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

Генерация (создание) SSH-ключа

Для начала нужно создать SSH-ключ на той машине, с которой будем подключаться к серверу, то есть ключ создается на стороне клиента, для этого не нужно заходить на сервер.

Чтобы создать ключ, нужно ввести команду . В примере мы будем использовать самую распространенную папку для ключей, которая находится в домашней папке пользователя: или ее укороченной версией :

После ввода утилита попросит задать пароль для ключа. Здесь довольно важный момент. Можно вовсе не задавать пароль и просто нажать Enter. В таком случае подключение к серверу будет осуществляться только по ключу и без всякого ввода пароля.

Но в примере мы будем «параноиками» и зададим пароль на использование ключа. Придумаем именно отдельный пароль, не тот, что от пользователя сервера. Можно выбрать вариант проще, который возможно будет без труда запомнить и ввести вручную, например . Его мы будем в будущем вводить каждый раз, как потребуется использовать ключ. И так, задаем…

ssh-keygen -f ~/.ssh/server-key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 

После этого нас попросят ввести пароль еще раз, повторяем его и если вы правильно ввели путь до папки для ключа, то должен получиться примерно такой вывод:

:~$ ssh-keygen -f ~/.ssh/server-key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/uxumax/.ssh/server-key.
Your public key has been saved in /home/uxumax/.ssh/server-key.pub.
The key fingerprint is:
SHA256:RX489Wcrb1rt/CRlEs08D8T5Wn//qydYZOpOlIs+cGE 
The key's randomart image is:
+-------+
|          .  .o. |
|         o . oo= |
|          o + ooB|
|         E ..+ +B|
|        S .o+..+=|
|       . .o...+++|
|        o..oo .+=|
|        ...o .+*.|
|         .o. o+.O|
+---------+
:~$ 

В выводе строка с текстом говорит в какой именно папке сохранился ключ.

Добавление ключа в список доверенных на сервере

В предыдущем этапе мы только создали ключ. Пока он не подходит ни к одному серверу. Чтобы использовать его для входа на наш сервер, необходимо добавить его в список доверенных ключей на этом сервере. Звучит сложно, но на самом деле все обходится лишь одной командой, которая содержит путь до ключа, логин и IP-адрес сервера в своих опциях и имеет такой вид: .

После ввода команды потребуется разово ввести пароль от сервера, после чего ключ будет авторизован на сервере.

:~$ ssh-copy-id -i ~/.ssh/server-key 
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/uxumax/.ssh/server-key.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh ''"
and check to make sure that only the key(s) you wanted were added.

:~$ 

Подключение к серверу по ключу

Теперь можно подключаться к серверу, используя ключ. Для этого вводим команду, которая содержит логин, IP-адрес сервера и путь до ключа с опцией -i:

После ввода потребуется ввести пароль от ключа, который мы задавали в прошлом разделе. Если вы тогда просто нажали Enter, ничего не вводили, то вас сразу перекинет на север, без запроса пароля.

:~$ ssh   -i ~/.ssh/server-key
Enter passphrase for key '/home/uxumax/.ssh/server-key': 
Linux debian9 5.4.40-04224-g891a6cce2d44 #1 SMP PREEMPT Tue Jun 23 20:21:29 PDT 2020 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
:~# 

Подключение к серверу по SSH

Для подключения к серверам с ОС Linux используется протокол SSH. Он позволяет безопасно управлять сервером по сети.

Подключиться к серверу можно:

  • по логину и паролю из панели управления — в таком случае при каждом подключении к серверу нужно вводить пароль;
  • по паре сгенерированных SSH-ключей — при таком подключении вводить пароль не нужно, пользователь идентифицируется при первом подключении. Используется пара ключей: открытый ключ размещается на сервере, а закрытый ключ хранится на компьютере пользователя. Примечание: подключиться к серверу по SSH можно только с того компьютера, на котором хранится закрытый SSH-ключ.

Для подключения к серверу используются данные, которые указаны в панели управления на вкладке Операционная система на странице сервера:

  • публичный IP-адрес сервера (поле IP);
  • логин и пароль для доступа в систему (поля Username и Password).

Подключение по SSH из Linux / macOS

Для подключения к серверу по SSH введите в терминале команду:

Где — публичный IP-адрес сервера.

Далее система запросит пароль от сервера, введите его. Если вы ранее , то для подключения к серверу пароль указывать не требуется.

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

В Windows 10 подключение происходит так же, как в Linux и macOS, но через командную строку (cmd.exe).

В более ранних версиях Windows подключение к серверу происходит с помощью PuTTY:

  1. Запустите PuTTY.
  2. Перейдите на вкладку Session. В поле Host Name укажите публичный IP-адрес сервера, а в поле Port — 22.
  3. Укажите тип соединения SSH в поле Connection type.
  4. Если вы подключаетесь с помощью , перейдите на вкладку SSH — Auth, нажмите Browse и выберите файл с приватным ключом.
  5. Нажмите Open, чтобы подключиться.
  6. Подтвердите подключение. В открывшейся консоли укажите логин и пароль для входа на сервер. Если вы ранее создавали пару ключей, то для подключения к серверу пароль указывать не требуется.

Создание пары ключей в Linux / macOS

Чтобы создать пару ключей:

Откройте терминал и выполните команду:

В консоли появится следующий диалог:

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

Система предложит ввести кодовую фразу для дополнительной защиты:

Этот шаг можно пропустить.

Будет создан закрытый ключ () и открытый ключ ()

В консоли появится следующее сообщение:

Для вывода открытого ключа в консоль выполните команду:

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

Добавьте открытый ключ в панели управления Selectel — на вкладке Операционная система на странице сервера нажмите кнопку Изменить конфигурацию сервера и введите ключ в поле SSH.

После создания ключей вы можете подключаться к серверу без пароля.

Создание пары ключей в Windows

В Windows 10 создать пару ключей можно таким же образом, как в Linux и macOS, но через командную строку (cmd.exe).

В более ранних версиях Windows для генерации ключей используется PuTTY:

  1. Установите PuTTY и запустите приложение PuTTYgen.
  2. В меню Type of key to generate выберите тип ключа RSA и нажмите Generate. Перемещайте курсор по экрану до тех пор, пока не будут созданы ключи.
  3. После создания пары ключей открытый ключ будет выведен на экран. Нажмите Save public key и сохраните его в текстовом файле, например в новом файле с названием .
  4. В поле Key passphrase введите кодовую фразу для дополнительной защиты. Этот шаг можно пропустить.
  5. Нажмите Save private key для сохранения закрытого ключа.
  6. Добавьте открытый ключ в панели управления Selectel – на вкладке Операционная система на странице сервера нажмите кнопку Изменить конфигурацию сервера и введите ключ в поле SSH.

После создания ключей вы можете подключаться к серверу без пароля.

Конфигурационные файлы клиента SSH

/etc/ssh/ssh_config

Общесистемный файл конфигурации клиента SSH.

/etc/ssh/ssh_known_hosts

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

~/.ssh/

Эта директива является стандартным расположением для хранилища конфигураций и информации для аутентификаций специфичных для пользователей. Нет требования хранить всё содержимое этой директории в секрете, но рекомендуется настроить разрешения на чтение/запись/выполнения так, чтобы они были у пользователя, но не были у других.

~/.ssh/config

Это конфигурационный файл с настройками каждого пользователя. Из-за возможного злоупотребления этот файл должен иметь строгие разрешения: чтение/запись для пользователя и недоступность для записи другими.

~/.ssh/known_hosts

Содержит список ключей хостов в которые входил пользователь, но которые отсутствуют в общесистемном списке ключей известных хостов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector