Ssh авторизация по сертификатам через putty

Оглавление

Настройка и подключения PuTTY

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

Создаем новый сеанс пиши на IP Адрес к серверу.

Далее, мы выбираем меню категорию SSH и там выберем под категорию Auth

В поле Private key file for authentication загружаем наш приватный ключ.

Далее переходим обратно в раздел Session и сохраняем нашу сессию для того чтобы следующий раз не заполнять все эти поля.

Остаётся только проверить правильность аутентификации к SSH серверу по ключу. Запустите PuTTY и подключитесь к своему серверу. Если вы при создании, ключа заполнили поле Key Passphrase и Confirm Passphrase то вас запросит вести этот пароль. Если же всё настроено неправильно, то будет выдано сообщение об ошибке и предложено ввести пароль.

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

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

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

Для того чтобы подключиться к серверу по SSH и начать пользоваться PuTTY достаточно настроек на вкладке «Session». Здесь нужно указать следующие данные:

  • Host Name (or IP address) – Имя компьютера или IP адрес.
  • Port – Порт для подключения (по умолчанию, для SSH это 22).
  • Connection type – Тип подключения (SSH).

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

Если IP адрес и порт верные, то перед вами появится терминал, в котором нужно будет ввести логин и пароль для доступа к серверу.

Если вы введете правильные данные, то подключение будет успешным и PuTTY предложит добавить ключ сервера в список доверенных. Чтобы подтвердить нажмите на кнопку «Да».

После этого вы сможете начать работать с терминалом сервера с помощью PuTTY.

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

Создание ssh ключей для putty

Key passphrase Можно задать пароль для приватного ключа. Ставить или нет на ваше усмотрение.
Save public key Кнопка сохранения публичного ключа. Он размещается на удаленном сервере.
Save private key Кнопка сохранения приватного ключа. Ключ хранится у клиента и используется для подключения к серверу.
SSH-2 RSA 2048 Тип ключа и его длинна. Значения по-умолчанию подходят в полной мере для нашей задачи.

Формат ключей, которые создает puttygen не подходит для openssh, который стоит на сервере, поэтому содержимое открытого ключа в нужном формате копируем из окна puttygen. Я указал этот ключ стрелочкой на скриншоте. Именно это содержание пойдет на сервер. Сохраняйте ключ в формате openssh, а так же два других с помощью кнопок Save key.

Настройка аутентификации по ключу из Windows

Запускаем утилиту PUTTYGEN и нажимаем кнопку “Generate”. Для выполнения генерации необходимо произвольно перемещать указатель мышки по рабочему столу.

После того, как ключи сгенерированы, нажимаем кнопку “Save private key” и сохраняем файл с приватным ключом на диск. Место хранения закрытого ключа может быть произвольным, в дальнейшем в параметрях Putty потребуется указать путь к этому файлу. Далее выделяем и копируем в буфер обмена публичный ключ, отображаемый в верхней части окна.

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

Создадим в домашнем каталоге файл “.ssh/authorized_keys” и ограничим права других пользователей, так, чтобы доступ к этому файлу имел только владелец.

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

После ввода команды щелкнем правой кнопкой мыши по окну терминала для вставки содержимого буфера обмена. Для завершения ввода нажимаем комбинацию клавиш “Ctrl+D” и отключаемся от сервера.

Далее укажем в параметрах Putty место хранения приватного ключа и снова выполним подключение к серверу.

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

Подключение к SSH по имени хоста

У меня есть VPS, у которой IP адрес 185.117.153.79, чтобы подключиться к ней я выполняю команду:

ssh root@185.117.153.79

Но всё время держать в уме IP адрес неудобно, особенно если серверов несколько. Было бы удобнее, подключаться к хосту по легко запоминаемому имени. Это IP адрес сервера SuIP, поэтому в качестве короткого имени я выберу suip, а в качестве ещё более короткого псевдонима просто букву s.

Чтобы операционная система начала узнавать эти имена, нужно настроить файл hosts. В Windows этот файл размещён по пути C:\Windows\System32\drivers\etc\hosts, а в операционной системе Linux это файл /etc/hosts. Кстати, ещё больше подробностей об этом файле вы найдёте в статье «Как настроить локальный DNS используя файл /etc/hosts в Linux».

Итак, нужно добавить записи вида:

IP_1	имя_хоста_1	короткое_имя
IP_2	имя_хоста_2
IP_3	имя_хоста_3
………

Для своего примера я добавляю такую строку:

185.117.153.79	suip	s

Сохраняю и закрываю файл hosts. Теперь я могу подключиться к данному хосту набрав следующую команду:

ssh root@suip

Или даже в таком виде подключение также пройдёт успешно:

ssh root@s

Ещё один вариант, как добиться этого же эффекта без редактирования системного файла hosts, будет чуть ниже.

Security alert dialog box

When you connect to a server for the first time, you are likely to see a dialog about the server’s host key not being cached in the registry. This is normal when you are connecting to a server for the first time. If you ever get this with a server, it could mean that someone is trying to attack your connection and steal your password using a man-in-the-middle attack.

But as said, the first time you connect, this is normal, and you should just click Yes. If you want to be fancy, you can check the displayed key fingerprint and make sure it is the same that is used by the server. In real life, almost nobody does that. It is more secure to use a proper SSH key management solution anyway.

Как правильно настроить программу Putty?

ШАГ 1: Запуск без установки. Как было указано ранее, после скачивания программы устанавливать её не нужно, просто запускаем файл PuTTY.exe и видим такое окно:

ШАГ 2: Поиск настроек

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

ШАГ 3:  Ввод настроек и подключение. Host Name (ip-adress) – имя хоста или IP-адрес, которые присылаются в настройках от хостера. 

Port – ставим “22”.

Saved Session – вводим любое имя для сессии и жмем «Save» («Open» пока еще рано жать).

Далее в левой колонке выбираем вкладку SSH и видим следующее:

Здесь ничего не трогаем, но в поле “Preferred SSH protocol version” выбираем “2 only” (на некоторых хостингах можно просто оставить 2). Чтобы подключиться к серверу жмем «Open».

После этого должен появиться черный экран с надписью «Login as». Вводим логин (при этом экран остается черным), нажимаем Enter. Если все было настроено правильно, то вы увидите перед собой командную строку сервера, в которую не нужно вводить команды.

Важные горячие клавиши:

имя команды —help – полная информацию о команде и её функциях;

mc – запуск Midnight Commander (файловый менеджер);

ls – показ файлов на сервере;

ls — la – показ всех файлов на сервере (даже скрытх) + размер + владельца + прав на файлы + дату изменения;

cd директория – переход в указанную директорию;

cd ../ – возврат на директорию вверх;

mv – переименование\перенос файла;

rm – удаление файла;

cp – копирование;

chmod – изменение прав на папку или файл;

cat имя файла – показ содержимого файла;

mkdir – создание папки.

Преимущества PuTTY

  1. Гибкая настройка удаленного узла

  2. Поддержка кроссплатформенности

  3. Обеспечение надежности соединения

  4. Возможность ведение лог-файлов

Недостатки PuTTY

  1. Сложный англоязычный интерфейс. Для русскоязычного меню необходимо скачать русскоязычную версию PuTTY

  2. В приложении отсутствует FAQ и документация о продукте

PUTTY — это одно из лучших софтов для безопасного подключения по SSH-протоколу. А бесплатная лицензия этого продукта делает его просто незаменимым инструментом для удаленной работы.

Удалённый проброс порта

В этом случае подключение внутри SSH–туннеля устанавливается в другую сторону — от удалённого сервера на наш локальный компьютер. Может быть полезно, если требуется открыть доступ к локальным сервисам нашего компьютера. Рассмотрим ту же сеть, что и в пункте 1, но для простоты предположим, что теперь у нас есть NAT:

Здесь уже у нас есть возможность подключаться через SSH напрямую к 212.212.212.212 благодаря наличию NAT–а. А вот 212.212.212.212 подключиться на 192.168.0.2 без специальных ухищрений, понятное дело, не сможет, т.к. 192.168.0.2 не подключён к Интернет непосредственно. Предположим, что пользователю, сидящему под X–ами на 212.212.212.212 нужно через remote desktop попасть на наш компьютер 192.168.0.2. Для этого в SSH–сеансе подключения с 192.168.0.2 на 212.212.212.212 нужно изменить настройки в разделе Tunnels следующим образом:

В результате после успешной авторизации на 212.212.212.212 можно увидеть следующее:

#lsof -i -nP | grep 3333
sshd  18598   avz   11u  IPv4 592868957   TCP 127.0.0.1:3333 (LISTEN)

То есть sshd ожидает подключений на TCP–порт 3333, которые затем по SSH–туннелю будут перенаправлены на 192.168.0.2 порт 3389. И юзер сидящий за 212.212.212.212 сможет с помощью rdesktop увидеть наш рабочий стол:

Вариант первый: генерируем ключи на linux.

Тут все просто, поможет нам утилита ssh-keygen. Неважно где создавать ключи. Но для примера сделаем это на сервере

Запускаем утлиту ssh-keygen

Программа спросит куда сохранить ключи и предложит задать пароль. Смело нажимаем два раза enter и получем результат.
Теперь у нас есть два ключа, которые были сохранены в директорию .ssh: id_rsa — приватный ключ и id_rsa.pub — публичный ключ.
Ключи выглядят в виде текста. По этому их можно легко скопировать и вставить в нужный файл.

Заходим в папку .ssh.
На сервере выполняем cat id_rsa.pub > authorized_keys — так мы запишем наш ключ в нужный файл
На сторону клиента можно скопировать текст ключа id_rsa. Меняем файлу права chmod -c 0600 id_rsa. 

Теперь заходим на удаленный сервер уже без пароля.

Следующий шаг — авторизация на сервер с помощью программы PuTTy

Копируем содержимое ключа id_rsa, вставляем куда-нибудь в блокнотик и сохраняем без расширения.
Открываем программу PuTTy Key Generator и загружаем наш ключ кнопкой «Load»

Далее открываем клиент PuTTy. Как обычно в главном окне указываем куда подключаемся, а с левой стороны выбираем «Connection -> Auth», в окошке выбираем наш ключ.

Подключаемся, видим предупреждение и подтверждаем «Yes»

И мы попадаем на сервер без пароля

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

Для удаленного подключения к серверам с ОС Microsoft Windows используется протокол удаленного рабочего стола RDP (Remote Desktop Protocol).
Функция «Подключение к удаленному рабочему столу» доступна в Windows по умолчанию. Создавать специальные ключи не потребуется.

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

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

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

Чтобы подключиться к Windows-серверу по RDP:

  1. В поле поиска (меню Пуск) найдите и выберите Подключение к удаленному рабочему столу.
  2. В открывшемся окне в поле Компьютер введите публичный IP-адрес сервера.
  3. Нажмите кнопку Подключиться.
  4. Введите логин и пароль.
  5. Нажмите кнопку OK.

Чтобы подключиться по RDP через терминал, введите команду:

Где:

  • ― публичный IP-адрес сервера;
  • и ― логин и пароль.

Подключение по RDP из macOS

Чтобы подключиться к серверу:

  1. Установите и запустите Microsoft Remote Desktop.
  2. Нажмите +. В поле PC name введите публичный IP-адрес, в полях Username и Password введите имя пользователя и пароль.
  3. Нажмите Save и сохраните изменения.
  4. Для подключения к удаленному серверу дважды нажмите на созданное подключение в списке.

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

Для подключения по SSH нам необходимо знать такие данные:

  • ip адрес сервера, к которому мы собираемся подключится;
  • порт, на котором ожидает подключения SSH сервер, по умолчанию используется 22, но в целях безопасности порт подключения ssh часто изменяют;
  • имя и пароль пользователя на удаленном сервере.

Больше ничего не нужно, обычно эти данные присылают в письме вместе с описанием VPS. Теперь перейдем к практике.

1. Подключение через SSH в Linux

В Linux подключение по SSH выполняется с помощью утилиты ssh. Мы более подробно рассматривали работу с ней в статье как пользоваться ssh. Для подключения к удаленному компьютеру ее синтаксис будет выглядеть следующим образом:

$ ssh имя_пользователя@айпи_адрес

Это самый простой вариант, если вам также нужно задать порт, используйте опцию -p:

$ ssh имя_пользователя@айпи_адрес -p порт

Чтобы выполнить подключение по SSH Linux нажмите Ctrl+Alt+T для открытия терминала и наберите команду, заменив нужные значения:

Или, с нестандартным портом:

Если ip_адрес и порт правильные, то на следующем шаге программа попросит у вас ввести пароль:

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

Теперь вы подключены, и все вводимые далее команды будут выполнены на удаленном сервере:

Если же произошла ошибка и IP адрес или порт введены неверно, то вы получите ошибку Connection Refused:

Просто убедитесь что порт введен верно. Если это ваш сервер, то, возможно на нем еще нужно разрешить подключение SSH в брандмауэре. В Ubuntu/Debian для этого на удаленном сервере выполните:

А в CentOS/Fedora:

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

Теперь вы знаете как подключиться по ssh linux и решить проблемы с подключением. А теперь перейдем к Windows.

2. Подключение через SSH в Windows

Раньше подключение по SSH из Windows выполнялось только с помощью сторонних утилит, например PuTTY. Но в Windows 10 был добавлен встроенный OpenSSH клиент и работает он точно так же, как и в Linux. По умолчанию этот компонент не активирован. Для его установки откройте Параметры -> Приложения:

Затем выберите Управление дополнительными компонентами:

Здесь нажмите добавить новый компонент и в открывлемся меню выберите OpenSSH Client и нажмите Устанвоить:

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

После перезагрузки нажмите Win+R чтобы открыть окно запуска команд и наберите в нем cmd:

Далее нажмите Enter. Перед вами откроется командная строка Windows. Здесь можно использовать утилиту ssh. Синтаксис у нее абсолютно такой же, как и для Linux:

ssh имя_пользователя@айпи_адрес -p порт

Например, такой командой можно подключится по SSH к Raspberry Pi, который находится в вашей локальной сети по адресу 192.168.1.5:

Утилита предложит добавить устройство в список известных:

Затем предложит ввести пароль:

Все следующие команды будут выполняться уже на Raspberry Pi или другой удаленной машине, к которой вы подключились.

Теперь подключиться к серверу по ssh из этой операционной системы также просто как и из Linux.

Настройка аутентификации по ключу из Linux

Генерируем публичный и приватный ключ на клиентской машине используя утилиту ssh-keygen. В процессе выполнения утилита предложит изменить путь к приватному ключу и ввести парольную фразу для дополнительной защиты. Оставляем все параметры по умолчанию нажимая Enter при выводе запросов.

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

После этого необходимо открытый ключ передать на сервер, а именно скопировать содержимое файла “id_rsa.pub” в файл “~/.ssh/authorized_keys” на сервере. Воспользуемся самым простым способом, утилитой “ssh-copy-id” В качестве параметров указываем логин и IP-адрес сервера, как при обычном подключении. После ввода пароля публичный ключ клиента будет автоматически скопирован на сервер. Выполняем команду:

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

PuTTY – как пользоваться программой?

PuTTY настраивается интуитивно понятно. Для выполнения соединения с SSH-сервером необходимо знать его IP-адрес или доменное имя, порт, имя и пароль. После подключения командную строку подключенного сервера обеспечивает именно PuTTY. Как пользоваться программой, легко позволяющей организовать удаленную работу?

Юниксоиды, в частности FreeBSD, Linux и другие аналогичные системы предоставляют удобный вариант удаленного управления собой. Достаточно поставить систему, включить демон sshd и «удалиться» в любую точку интернет-пространства.

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

Конечно, вопрос формирования через PuTTY: «как пользоваться SSH для создания последовательности туннелей?» требует квалификации, но здесь она касается чисто логики создания каждого колена в последовательности SSH-соединений, а не самой программы.

3.6 Making raw TCP connections

Sometimes it can be useful to connect directly to one of these services and speak the protocol «by hand», by typing protocol commands and watching the responses. On Unix machines, you can do this using the system’s command to connect to the right port number. For example, might enable you to talk directly to the SMTP service running on a mail server.

Although the Unix program provides this functionality, the protocol being used is not really Telnet. Really there is no actual protocol at all; the bytes sent down the connection are exactly the ones you type, and the bytes shown on the screen are exactly the ones sent by the server. Unix will attempt to detect or guess whether the service it is talking to is a real Telnet service or not; PuTTY prefers to be told for certain.

In order to make a debugging connection to a service of this type, you simply select the fourth protocol name, «Raw», from the «Protocol» buttons in the «Session» configuration panel. (See .) You can then enter a host name and a port number, and make the connection.

Немножко теории — приватные и публичные ключи RSA

Для успешной авторизации по ключам, необходимо иметь публичный ключ и приватный ключ. Все ключи на linux машине хранятся в домашнем каталоге пользователя, в папке .ssh «/home/user/.ssh/».

На сервере хранится публичный ключ. Этот ключ имеет запись одной строкой вида«ssh-rsa AAAABG.. ..+qxQ== rsa-key-20180322»
По умолчанию ключи хранятся в файле authorized_keys. В этом файле могут хранится сразу несколько ключей, просто записываются каждый на строку.
Название файла можно поменять, но тогда нужно это явно указать в конфигурационном файле SSH сервера — /etc/ssh/sshd_config (нужна перезагрузка sshd).«AuthorizedKeysFile         %h/.ssh/authorized_keys»

На клиенте (linux) хранится приватный ключ. Ключ имеет запись вида——BEGIN RSA PRIVATE KEY——MIIEoQIBAAKCAQEAjIDrQgbCcRXrGms9kHutJhU6+kopZ1IRca8WalZ/jLr6tyjs….….Hp5ygfYqspTYzGIqsPvYYPMlyg7Jrx8hiEwbbz4Ohpqq6hgvVQ==——END RSA PRIVATE KEY——

В отличии от публичного ключа, каждый приватный ключ это отдельный файл. При подключении к серверу, клиент ssh проверяет в папке .ssh наличие такого ключа. Название по умолчанию должно быть id_rsa. Если задано другое название или ключ лежит в другой директории, то это нужно указать: ssh user@example.com -i /home/user2/id_rsa2.

Важно, права на ключ id_rsa должны быть выставлены 600 (rw——-)

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

Подключение по SSH с помощью OpenSSH

Раньше для подключения к Linux серверу по SSH из Windows компьютера требовалась установка программы PuTTy или какого-то другого SSH-клиента. Но, в операционной системе Windows 10 (начиная с версии 1809) доступен клиент OpenSSH, с помощью которого можно подключаться к Linux серверам по SSH. Это позволяет работать с терминалом Linux прямо из командной строки Windows 10, при этом не требуется установка никаких сторонних программ.

Перед тем как использовать данный способ подключения необходимо проверить версию Windows 10. Для этого нажмите комбинацию клавиш Win-R и выполните команду «winver». Если на вашем компьютере установлена Windows 10 с версией 1809 или выше, то все нормально, в противном случае сначала нужно выполнить обновление.

Также нужно открыть меню «Параметры» и зайти в раздел «Приложения – Дополнительные возможности».

Здесь нужно пролистать список установленных дополнительных компонентов и найти в нем «Клиент OpenSSH». Если такой компонент присутствует, значит все нормально и можно переходить к следующему шагу. Если нет, то его нужно сначала установить с помощью меню «Добавить компонент».

Обратите внимание, не нужно путать «Клиент OpenSSH» и «Сервер OpenSSH». Для подключения по SSH вам нужен именно клиент

Также клиент OpenSSH можно установить с помощью PowerShell. Для этого запустите консоль PowerShell с правами администратора и выполните следующую команду:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Если версия Windows 10 подходящая и клиент OpenSSH установлен, то можно начинать подключение по SSH. Для этого запустите обычную командную строку Windows и введите команду «ssh». В ответ вы должны получить информацию о работе с данной командой.

В общем случае синтаксис команды «ssh» выглядит следующем образом:

ssh user@server

Где «user» — это имя пользователя на удаленном сервере, а «server» — это имя компьютера или его ip адрес.

Например, если наш сервер доступен по ip адресу «192.168.1.214», а имя пользователя это «aleks», то команда для подключения будет выглядеть так:

ssh aleks@192.168.1.214

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

По умолчанию для SSH используется порт 22. Для того чтобы это изменить нужно использовать параметр «-p». Например, для подключения по порту 2222 нужно выполнить вот такую команду.

ssh aleks@192.168.1.214 -p 2222

Если подключение предполагает использование ключей, то они должны находиться в папке «C:\Users\user\.ssh». А при подключении путь к приватному ключу нужно указать с помощью параметра «-i». Например, чтобы использовать ключ «C:\Users\stepu\.ssh\id_rsa» нужно выполнить:

ssh aleks@192.168.1.214 -i C:\Users\stepu\.ssh\id_rsa

Terminal window and login credentials

After the security alert, you should get a terminal window. By default, this is a black, very bland window. It should first ask for your user name and then password. After these, you should get a command line on the server.

You can then type into the terminal Window. You are now connected to the server, and anything you type in the Window is sent to the server. Server’s responses are displayed in the Window. You can run any text-based applications on the server using the window. The session terminates when you exit the command-line shell on the server (typically by typing ) to the command line or pressing . Alternatively, you can forcibly terminate the session by closing the terminal window.

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

После установки программы PyTTY ее можно будет запустить с помощью поиска в меню «Пуск»

Сразу после запуска программы PuTTY появляется окно с настройками подключения. Основными параметры здесь находятся на вкладке «Session», здесь нужно ввести:

  • Имя компьютера или IP адрес;
  • Порт для подключения (по умолчанию, 22);
  • Способ подключения (SSH);

После ввода этих данных можно запускать подключение с помощью кнопки «Open».

Если для подключения к SSH используются ключи, то путь к приватному ключу нужно указать в разделе «Connection – SSH – Auth».

Обратите внимание, ключ должен быть сгенерирован программой PuTTYgen, которая устанавливается вместе с PuTTY. Если вы сгенерировали ключи с помощью OpenSSH, то их можно загрузить в PuTTYgen и сохранить в формате подходящем для PuTTy

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

После ввода этих данных вы будете подключены к удаленному серверу по SSH.

Running PuTTY and connecting to a server

If you selected to create a desktop icon during installation, you can start the software simply by (double-)clicking on the icon. Otherwise, open the software from the Windows Start menu.

When the software starts, a window titled PuTTY Configuration should open. This window has a configuration pane on the left, a Host Name (or IP address) field and other options in the middle, and a pane for saving session profiles in the lower right area.

For simple use, all you need to do is to enter the domain name or IP address of the host you want to connect to in the Host Name field and click Open (or press Enter). A domain name looks like . An IP address looks something like .

Configuration options and saved profiles

The initial configuration window contains a lot of options. Most of them are not needed in normal use.

Port

The port field specifies the TCP/IP port to connect. For SSH, this is the port on which the SSH server runs. Normally it can be left to 22. If for some reason you need to connect to a different port number, just change the value. Usually only developers would change this to a different value, but some enterprises are known to run SSH servers in non-standard ports or to run multiple SSH servers on the same server at different ports.

Connection type

The Connection type selection almost never needs to be touched. Just leave it as SSH. SSH is a secure, encrypted communications protocol designed to ensure your password and data are maximally protected.

Raw connections might be used for developers to connect a TCP/IP socket for testing (e.g., when developing a network application that listens on a TCP/IP port).

Telnet is an old legacy protocol that is almost never used, unless you manage equipment that is more than 10 years old. Telnet is not secure. Passwords are sent in the clear on the network. Attackers can easily eavesdrop on plaintext communications and steal user names and passwords. Rlogin is another legacy protocol with similar woes.

Serial refers to a serial port, another legacy communications mechanism for connecting computers to peripheral devices. Most PCs these days no longer have serial ports, but they are still sometimes used for controlling physical equipment, instrumentation, machinery, or communications devices. Another use for serial ports is debugging operating systems or embedded software.

Load, save, or delete a stored session

This section allows you to save your settings as named profiles. Just write the name of your new profile in the Saved Sessions box and click Save to create a new profile. The host name and your other settings are saved in the profile.

Saved profiles appear in the larger box below it. Initially it will contain just Default Settings. Profiles you save will be included there. Select a profile and click Load to use a previously saved profile. Select a profile and click Delete to delete a profile that is no longer needed.

Close window on exit

Finally, the Close window on exit setting specifies whether the terminal window should be automatically closed when the connection is terminated. There is rarely any need to change it from the default value of Only on clean exit.

Передача стандартного вывода с локальной машины на удалённую по ssh

Не менее интересный вариант выполнения команд будет приведён немного ниже:

cat .ssh/id_rsa.pub | ssh mial@192.168.1.36 'cat >> .ssh/authorized_keys'

Команда cat построчно считывает и отображает содержимое файла .ssh/id_rsa.pub, расположенного на локальной машине.

| (труба) передаёт то, что должно было бы появиться в стандартном выводе, другой команде.

Вместо команды, которая должна была бы обрабатывать передаваемые ей строки, происходит соединение к удалённой системе (ssh mial@192.168.1.36).

На удалённую систему приходят строки, для которых предусмотрена команда cat >> .ssh/authorized_keys. Т.е. содержимое стандартного вывода построчно записывается в файл .ssh/authorized_keys, находящийся на удалённой машине.