С миру по нитке

Настройка аутентификации по ключу в PuTTY. Установка и настройка программы PuTTY

PuTTY - это маленькая бесплатная программа для подключения к серверу, через Telnet или безопасное соединение SSH.

Зачем она нужна?

Как правило данную программу используют для передачи команд серверу. Т.е. вы настраиваете PuTTY -> она подключается к серверу -> вы вводите в командную строку команды -> сервер их выполняет.

Еще одно применение - это передача файлов с компьютера на сервер и обратно, но для таких целей чаще используют бесплатную программу Filezilla , Total Commander или Far Manager .

Где скачать PuTTY?

Качаем на официальном сайте , программа бесплатная. Не пугайтесь дизайна сайта (точнее его отсутствия) - это очень популярная среди вебмастеров программа, которая не крадет данные и не наносит никакого вреда. Хостинг-провайдеры с поддержкой SSH рекомендуют использовать именно PuTTY для работы с веб-сервером.

Как правильно настроить PuTTY?

1. Запускаем без установки

После того как вы скачаете программу с официального сайта, устанавливать ее не нужно. Просто запускаете файл PuTTY.exe и видите такое окно:

2. Находим настройки

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

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

Host Name (or IP-adress) - имя хоста или IP-адрес, которые присылаются в настройках от хостера.
Port - ставим 22.
Saved Session - вводим любое имя для сессии и жмем "Save" ("Open" пока еще рано жать).Далее в левой колонке выбираем вкладку SSH и видим следующее:

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

После этого должен появиться черный экран с надписью "Login as ". Вводите логин но знайте, что когда вы его вводите, то экран остается черным. Т.е. на нем ничего не происходит, поэтому когда закончите ввод логина, просто нажмите Enter. Далее вас попросят ввести таким же образом и пароль. Если все было настроено правильно, то вы увидите перед собой командную строку сервера. Соответственно в нее нужно вводить команды.

Важные команды PuTTY

Широкий список команд смотрим в отдельной статье , а самые главные мы описываем здесь:

имя команды --help - покажет полную информацию о команде и что она делает;
mc - запускает Midnight Commander (файловый менеджер);
ls - покажет файлы на сервере;
ls - la - покажет все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения;
cd директория - перейдет в указанную директорию;
cd ../ - вернуться на директорию вверх;
mv - переименовать\перенести файл;
rm - удалить файл;
cp - копировать;
chmod - поменять права на папку или файл;
cat имя файла - покажет содержимое файла;
mkdir - создать папку.

Самый популярный клиент для удаленного управления по SSH — это Putty. Его используют на различных устройствах, в основном на ПК с ОС Windows и в Интернете есть уже масса уроков по настройке, а также мануалов о том, как пользоваться этой программой. Тем не менее, стоит еще раз пройтись по основным особенностям Putty, напомнить вам основные команды, а также рассмотреть Kitty и преимущества этого клиента.

Чем Kitty лучше Putty

Если главный конкурент протокола SSH Telnet, который уже ушел на задний план, то для Putty — это Kitty.

В целом, если вы преследуете самую банальную цель — установить клиент, пробросить туннель и пользоваться им по мере необходимости на одном ПК, то нельзя сказать, что Putty не поможет вам реализовать вашу задумку.

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

Проблема Putty в том, что если вы настроили туннель и внесли индивидуальные конфигурации для своего ПК, то в случае переноса программы на другой компьютер все данные исчезнут. А Kitty — это переносимый клиент. Кроме того, он гораздо удобнее в том случае, если вы все время работаете с одними и теми же серверами SSH — клиент Kitty будет вводить пароль и логин вместо вас!

Но самый главный плюс клиента Kitty — это возможность создавать индивидуальные команды. То есть вам не придется изучать команды на зубок, как это было с Putty, а сможете в разделе Name\Command\ прописать собственные функции, которые будут работать в терминале. К примеру, можете придумать свои команды для взаимодействия с базами данных и т. д. Либо сможете придумать команды, чтобы создать tunnel. А в придачу с командами у клиента Kitty есть набор горячих клавиш, что помогут вам ускорить работу с сервером.

Как работать с Putty

В целом, и Putty хорошо подходит для работы с сервером. С этим приложением вы легко сможете пробросить туннель, авторизоваться и выполнить определенные действия на сервере. К примеру, чтобы создать туннель, вам нужно лишь узнать номер порта и IP-адрес, куда направить соединение. Через настройки Putty в разделе Tunnel вы сможете создать нужный туннель. Для этого в Tunnel пропишите порт и IP, куда подключаться, а потом жмите Open. У вас должно быть две сессии, чтобы вы смогли пробросить tunnel — в этом вся суть туннелирования между портами.

Кроме того, в настройках Putty есть множество других конфигураций, кроме Tunnel. Основной функционал заключается в использовании специальных команд для управления сервером. Чем выше уровень доступа у вас на хосте, тем больше действий вы сможете предпринять. Основные действия, которые доступны для вашего ПК, как для клиента — это просмотр общей информации и статистики с сервера, остановка системы, управление файлами и директориями, поиск, монтирование файловых систем, управление пользователями, управление уровнями доступа файлов, архивирование и распаковка каталогов и т. д.

Чтобы подключиться к серверу через Putty, вам нужно будет определиться со способом аутентификации. Очень часто сервера используют открытые ключи. Чтобы подключиться к такому хосту, вам понадобится публичный ключ, а сгененировать его поможет один из модулей Putty. Вы сможете создать ключ для разных версий протокола, а также задать его длину. После этого забросите ключ на сервер и сможете подключиться к хосту.

Чтобы научиться максимально эффективно пользоваться клиентом и управлять доступными возможностями сервера, вам стоит изучить его основные команды. Для этого пропишите в терминале -help. После этого Putty выдаст вам справку, где будут написаны основные функции клиента, которыми вы сможете воспользоваться. Со временем вы научитесь пользоваться этим приложением! И пока не установили Putty, подумайте на счет Kitty — все-таки этот клиент имеет свои весомые преимущества.

Сперва расскажем не много о том, что из себя представляет эта утилита и для чего она.

SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и передачу файлов. Сходен по функциональности с протоколами Telnet и rlogin , но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы имеются для большинства операционных систем.

PuTTy - это популярный SSH-клиент и Telnet (Telnet тот же SSH , только без зашифрованной передачи данных (пакетов)), т.е. программа для безопасного подключения к удаленному компьютеру (или к серверу) и выполнения на нем различных команд. PuTTY ведет логи, позволяет настраивать шрифты, цвета и разрешение консоли, допускает сохранение в своей памяти ключей авторизации, поддерживает работу через прокси-сервер. При этом утилита является бесплатной в распространении.

Для того, чтобы начать работу с PuTTy скачайте её с официального сайта или с нашего сайта . Работает PuTTy без инсталяции, что радует. Документацию по программе вы можете найти (правда она на английском) и читайте FAQ по ней (опять же на английском) .

Ну допустим Вы скачали программу. Для начала работы запустите файл putty.exe .
Перед вами появится окно.


В поле Host Name(or IP address) вводите имя вашего домена(например ginger.beget.ru) или IP в зависимости от высланных Вам реквизитов доступа по SSH -протоколу.
Порт оставляйте 22 . В поле Saved Sessions введите любое имя сессии(коннекта). Например: ginger.beget.ru . И нажмите Save .

После этого войдите в SSH в меню слева и перед Вами появится окно. Выберите протокол SSH версии 2 only . Чтобы соединиться с сервером, нажмите Open .


Впринципе даже если Вы не выставили 2 only и не написали название коннекта Saved Sessions перед Вами появится окно следующего вида:


В поле login as вводите высланный Вам логин для доступа по SSH и жмите Enter . После чего появится надпись Password . Вводите высланный Вам пароль для доступа по SSH. Не пугайтесь во время ввода пароля на экране ничего не отображается(ни звёздочек, ничего подобного). Просто после того как Вы закончили вводить пароль нажмите Enter .
Если логин и пароль введены верно произойдёт подключение к серверу и Вы попадете в командную строку Unix.

Рассказать о всех командах будет сложно поэтому напишим лишь несколько полезных команд:

man [имя команды] - выдаст подробную информацию по команде.Например: man mv

ls - список файлов;
ls -lha - покажет все файлы (включая скрытые), размер файлов, права на них, дату последнего изменения;
ls -lha | less - позволит просматривать файлы постранично (если их много);

mv - переименовать и перенести

rm - удалить

cp - копировать

> - очистка файла. Например можно применить к файлам логов.(> access.log, > error.log, > combined.log)

mc - что-то вроде Нортон Командера, в котором удобно работать с файлами, а также возможно работать с ними по ftp (ftp внутри ssh)

Желаем удачи в работе!

PuTTy - это популярный SSH- и Telnet -клиент (Telnet - тот же SSH , только без шифрованной передачи данных (пакетов)), т.е. программа для безопасного подключения к удаленному компьютеру (или к серверу) и выполнения на нем различных команд. PuTTY ведет логи, позволяет настраивать шрифты, цвета и разрешение консоли, допускает сохранение в своей памяти ключей авторизации, поддерживает работу через прокси-сервер. При этом утилита является бесплатной в распространении.

Для того, чтобы начать работу с PuTTy , скачайте её с официального сайта или с нашего сайта . Документацию по программе Вы можете найти (только на англ.), FAQ по ней .

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

Для начала работы запустите файл putty.exe . Перед Вами появится окно, представленное на рисунке ниже.

В поле Host Name or IP address) вводите имя сервера или его ip, которые Вы узнали в разделе "Тех. информация "(например, robin.сайт или pixel.сайт ). Порт оставляйте по умолчанию 22. В поле Saved Sessions введите любое имя сессии (коннекта), например my_session , и нажмите Save . После этого нажмите Open и Вы увидите такое окно.

В поле login as введите имя Вашего пользователя (совпадает с логином аккаунта для доступа в ПУА), нажмите Enter . После чего появится надпись Password . Вводите Ваш пароль для доступа по SSH (также совпадает с паролем от ПУА). Не пугайтесь - во время ввода пароля на экране ничего не отображается (ни звёздочек, ни чего-либо подобного). После того, как Вы закончили вводить пароль, нажмите Enter .
Если логин и пароль введены верно, то произойдёт подключение к серверу и Вы попадете в командную оболочку Linux .

Также заметим, что сочетание Ctrl+V и Ctrl+C в PuTTy не работают. В буфер обмена копируётся всё, что выделено с помощью мыши, а вставка осуществляется либо правой кнопкой мыши, либо сочетанием клавиш SHIFT+INSERT .

Полезные команды

Рассказать о всех командах Unix будет сложно, поэтому напишем лишь несколько полезных команд:

man [имя команды] - выдаст подробную информацию по команде, например: man mv
Для выхода из man, т.е. из руководства по команде, нажмите q (Q uit - Выход).
[имя команды] --help - также позволит посмотреть описание команды.

ls - вывести список файлов;
ls -la - покажет все файлы (включая скрытые), размер файлов, владельца и группу владельца, права на них, дату последнего изменения;
ls -lha - то же, что предыдущая команда, только размер файлов будет показан в удобном виде;
ls -lha | less - позволит просматривать файлы постранично (если их много);

cd [имя директории] - переход в выбранную директорию;
cd ../ - переход на директорию выше;
cd ~ - переход в корневую директорию;

mv - переименовать и/или переместить;

rm - удалить;

cp - копировать;

> - очистка файла. Например, можно применить к файлам логов (> access.log, > error.log, > combined.log);

mc - запуск Midnight Commander - что-то вроде Norton Commander, в котором удобно работать с файлами, а также возможно работать с ними по sftp (ftp внутри ssh);

chmod - установка прав на файл или директорию;

cat -объединяет файл или несколько файлов, либо ввод со стандартного устройства ввода и выводит результат на стандартное устройство вывода;
cat [имя файла] - выведет на экран содержимое файла;
cat [имя файла] | grep [искомая строка] - выведет на экран строки файла, включающие искомую строку;

mkdir [имя директории] - создание директории (папки);

Для удаленной работы с серверами Linux, FreeBSD, *BSD удобно пользоватся программой Putty.

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

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

Программу Putty также можно использовать и для подключения к устройствам используя последовательный порт, например настроить 3G модем Huawei через Putty .
Скачиваем программу Putty и PSCP на странице: ]]> скачать Putty и PSCP с официального сайта ]]>

На скриншоте выше обведено две ссылки которые нужно скачать на диск С:\ в папку putty, которую необходимо предварительно создать. Туда скачиваем две программы putty.exe и pscp.exe . На приведенном ниже скриншоте Вы можете видеть скачанные на моем компьютере программы в папке putty на диске C:\

Запускаем файл программы putty.exe нажав дважды на файле мышкой, откроется окно, в котором я добавляю сервер Linux который находится в моей сети и имеет айпи адрес 192.168.2.1 со стандартным портом SSH - 22, итого:

  • Host Name: 192.168.2.1
  • Port: 22
  • Saved Session: 192.168.2.1 (тут можно написать любое имя, например сервер Васи Пупкина )

Далее обязательно переходим во вкладку Window - Translation и в выпадающем списке выбираем кодировку UTF-8(либо выбираем ту кодировку с которой настроен Ваш удаленный сервер, в большинстве случаев это UTF-8), если этого не сделать, тогда у Вас после подключения к серверу используя Putty все руские слова будут отображатся нечитаемыми символами:

После изменения кодировки переходим в главное окно Session и проверив, что у Вас заполнено поле Saved Session нажимаем кнопку Save . Теперь у Вас в главном окне появилась новая запись 192.168.2.1 (либо сервер Васи Пупкина ). После закрытия программы Putty у Вас добавленная запись останется и для подключения к удаленному серверу по SSH Вам достаточно нажать дважды на сохраненную запись 192.168.2.1 :

При первом подключении к серверу по SSH протоколу, Вам будет предложено согласится на запись ключа удаленного сервер в кеш программы Putty, Вы соглашаетесь на это нажав кнопку Да и Вам откроется окно ввода логина и пароля:

В открывшемся окне вводим имя пользователя например root и нажимаем Enter, Вам будет предложено ввести пароль пользователя root , сам вводимый пароль не будет виден, просто когда введете пароль нажмите Enter и если Вы правильно ввели логин:пароль Вы окажетесь на удаленно Linux сервере:

Ниже приведен скриншот в котором я вошел на сервер Linux по SSH bcgjmpez программу удаленного доступа Putty:

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

Далее предположим, что у нас есть сервер либо роутер с установленным Linux и открытым портом SSH. Нам небходимо подключится к модему через который данный сервер выходит в интернет. Сам модем с интернета не доступен. В данной ситуации нам очень пригодится программа удаленного доступа Putty, с помощью которой мы пробросим порт с нашего компьютера через удаленный сервер на роутер либо модем.

  • IP Удаленного сервера - 192.168.2.1
  • IP роутера либо модема - 192.168.1.1
  • Пробрасываемый порт - 82

Нам необходимо в браузере открыть настройки роутера либо модема, внести изменения и сохранить. Пробрасывать будем 82 порт, так как он при стандартных настройках как сервера так и декстопа не задействован.

Так как мы будем пробрасывать 82 порт на роутер на том же сервере к которому мы ранее уже подключались, на необходимо во вкладке Session выделить мышкой добавленный ранее сервер с именем 192.168.2.1 и нажать кнопку Load , после этого заполнятся поля Host Name, Port, Saved Session:

Нам необходимо перейти во вкладку Connection - SSH - Tunnels и заполнить поля:

Destination: 192.168.1.1:80

где порт 82 - это порт который откроется на Вашем компьютере (декстопе), а 192.168.1.1:80 это айпи роутера и порт на который нам необходимо пробросить порт. Все что открывается по ссылке http - это 80 порт, https - это 443 порт. Аналогично можно пробросить и 21 порт это FTP, почту, SSH, Radmin, RDP и так далее. После заполнения полей нажимаем кнопку Add для добавления тунеля в текущие настройки:

После добавления тунеля нам необходимо сохранить данные настройки под другим именем, для этого переходим во вкладку Session и в поле Saved Session написать имя соединения с настроенным тунелем: и нажимаем кнопку Save , в окне ниже появится новое имя 192.168.2.1_82-to-192.168.1.1 дважды нажав на которое мышкой, мы получим приглашение ввести логин:пароль , введя которые мы зайдем на удаленный сервер.

После того как мы зашли на удаленный сервер с профиля 192.168.2.1_82-to-192.168.1.1 , в котором у нас настроен проброс порта 82 на 80 порт роутера по айпи 192.168.1.1, нам для подключения к роутеру либо модему необходимо в браузере прописать адрес http://localhost:82 и у Вас откроется окно ввода логина и пароля от роутера:

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

Как настроить проброс порта через Putty Вы узнали, потому переходим к третьему разделу копирования файлов по SSH.

Копирование файлов через SSH используя программу для удаленного доступа Putty.

Для копирования файла на удаленный сервер, я в папке pytty на диске C:\ заархивировал программу putty.exe, и в заархивированном виде файл имеет имя putty.zip скриншот:

Для копирования файла putty.zip нам необбходимо открыть командную строку Windows, для этого нажимаем кнопку Пуск - Выполнить и в появившемся окне вводим команду cmd и нажать Ok:

После запуска командной строки выполнив команду cmd нам откроется окно:

После открытия командной строки, нам необходимо перейти в папку, где находится программа pscp.exe и копируемый файл putty.zip, для этого нам необходимо выполнить в командной строке команду:

Cd c:\putty

После входа в папку putty на диске C:\ мы можем проверить содержимое папки выполнив команду:

На скриншоте ниже это все видно:

И теперь нам для того, чтобы закачать файл putty.exe на удаленный сервер под пользователем root в папку /root нам необходимо выполнить команду:

Если у Вас SSH сервер висит на стандартном 22 порту, выполняете команду:

Pscp.exe putty.zip :/root/

Если же у Вас SSH сервер висит на нестандартном порту, например 222 , тогда выполняете команду:

Pscp.exe -P 222 putty.zip :/root/

pscp.exe закачать файл putty.zip находящийся в текущей директории на удаленный сервер под пользователем root с IP адресом 192.168.2.1 в папку /root . После выполненной команды, Вам будет предложено ввести пароль пользователя root

Для того, чтобы скопировать файл putty.zip с удаленного сервера в текущую папку, SSH сервер на стандартном 22

Pscp.exe :/root/putty.zip .

Для того, чтобы скопировать файл putty.zip с удаленного сервера в текущую папку, SSH сервер на нестандартном 222 порту, нам необходимо выполнить команду:

Pscp.exe -P 222 :/root/putty.zip .

В команде выше мы сказали программе pscp.exe cкачать файл putty.zip находящийся в директории /root на удаленном сервере под пользователем root с IP адресом 192.168.2.1 в текущую папку (в папку в которой мы находимся)

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

С Вами был , буду очень рад если данная инструкция будет Вам полезна.

Маленький перерыв, отдохнем 3 минутки просмотрев красивый ролик.