Putty как подключиться по ssh windows

Содержание

  • Применение и возможности PuTTY
  • Установка на Windows
  • Работа с программой
  • Распространенные ошибки

PuTTy

PuTTY — программа, которая позволяет установить соединение с удаленным сервером или компьютером. Программу можно также применять для реализации следующих целей:

  • удаленного администрирования;
  • взаимодействия с VPS-серверами.
  • работы с Telnet-терминалами;
  • настройки маршрутизаторов через RS-232;

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

Возможности программы

  • Сохранение информации и конфигурационных параметров для многократного применения.
  • Работа с SSH-ключами.
  • Поддержка разных версий SSH-протокола.
  • Встроенные клиенты SCP и SFTP, используемые для различных операций с файлами. Возможности первого ограничиваются только функцией копирования.
  • Перенаправление портов через протокол SSH.
  • Поддержка xterm, ECMA-48 и VT-102.
  • Возможность соединения по IPv6.
  • Работа с алгоритмами шифрования.
  • Аутентификация через ключ, который расположен на удаленной машине.
  • Соединение через proxy.
  • Использование порта RS-232.

Установка на Windows

  1. Программа PuTTY для Windows 10 скачивается с официального сайта.
    Инсталляция на Windows PuTTY
  2. Далее нужно перейти по ссылке, скачать пакет для архитектуры x86 или x64, а затем запустить установку.
    Инсталляция на Windows PuTTY
  3. После установки необходимо проверить программу на работоспособность, запустив исполняемый файл на Windows.
    Инсталляция на Windows PuTTY

Работа с программой

Интерфейс

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

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

Соединение с удаленным сервером

Принцип подключения не зависит от операционной системы. Это могут быть разные версии Windows (7, 10) или популярные дистрибутивы на основе Linux — Ubuntu, CentOS, Debian.

Подключиться по SSH через PuTTY просто. Для этого нужно следовать приведенной ниже инструкции.

  1. Ввести IP-адрес или имя хоста, к которому необходимо подключиться.
  2. Указать порт (по умолчанию везде 22).
  3. Выбрать тип соединения SSH.
  4. Ввести название подключения и сохранить его, нажав кнопку «Save».
  5. Активировать соединение, нажав на «Open».
    Соединение с удаленным сервером PuTTY
  6. Указать данные для авторизации (логин и пароль).

После этого работа с терминалом осуществляется, как на локальном компьютере. Чтобы узнать информацию о версии Ubuntu, нужно ввести команду:

sudo lsb_release -a.

Соединение с удаленным сервером PuTTY

Для удобства можно создать жесткую ссылку (ярлык) на программу для быстрого запуска.

Использование SSH-ключей

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

Для примера, продемонстрируем ниже, как подключиться через PuTTY, установленного в Windows 10, при помощи SSH-ключа к серверу на Ubuntu.

Шаг №1

Для начала, нужно выполнить ряд действий на компьютере с ОС Windows.

  1. Установить  программу для генерации ключа «Putty Key Generator» и запустить ее.
  2. Задать параметр «RSA» и активировать процесс кнопкой «Generate». Нужно постоянно вводить указателем мыши в зоне окна выполнения операции для успешной генерации.
    Использование SSH-ключей PuTTY
  3. Сохранить private key, для чего скопировать текст из консоли в документ. Предварительно нужно указать тип файла «.ppk».
    Использование SSH-ключей PuTTY
  4. Затем сохраняем public key. Для этого необходимо скопировать и вставить текст из буфера обмена в любой пустой текстовый файл.
    Использование SSH-ключей PuTTY
  5. Свернуть программу.

Шаг №2

Далее необходимо перенести SSH-ключ на сервер Ubuntu, выполнив перечисленные ниже действия.

  1. Запустить программу PuTTY.
  2. Подключиться к серверу, используя его параметры для доступа (хост, порт и SSH-протокол).
  3. Командой «mkdir .ssh» создаем папку «.ssh». Затем командой «ll» проверяем наличие папки.
    Использование SSH-ключей PuTTY
  4. Прописываем права доступа для папки .ssh только для владельца, командой «сhmod 700 .ssh/».
    Использование SSH-ключей PuTTY
  5. При помощи команды «cd .ssh» переходим в системную папку «./ssh».
    Использование SSH-ключей PuTTY
  6. Создаем файл «authorized_keys», используя редактор nano, командой:

    touch authorized_keys

    Использование SSH-ключей PuTTY

  7. Прописываем права доступа для файла «authorized_keys», только для владельца, командой:

    сhmod 600 authorized_keys

    Использование SSH-ключей PuTTY

  8. Редактируем файл с помощью команды:

    cat >> authorized_keys << EOF»
  9. Добавляем ваш public key и заканчиваем редактирование файла командой «EOF».
    Использование SSH-ключей PuTTY

Шаг №3

Возвращаемся к программе PuTTY на Windows 10. 

  1. Переходим в программу.
  2. Добавляем данные для подключения.
  3. Переходим во вкладку «Connection SSH Auth». Выбираем для аутентификации сохраненный файл «.ppk».
    Использование SSH-ключей PuTTY
  4. Активируем соединение при помощи нажатия «Open».
    Использование SSH-ключей

Работа с файлами

Программа позволяет делать операции с файлами. Чтобы закачать файл на сервер, находящийся под управлением Linux Ubuntu (с компьютера на ОС Windows), нужно действовать по приведенной ниже инструкции.

  1. Сохранить тестовый файл «mydoc.txt» на диске C:\ вместе с исполняемым файлом для безопасного копирования — pscp.exe.
  2. Открыть командную строку Windows: «Win+R → cmd → Enter».
  3. Зайти в папку с программой pscp.exe, для чего ввести команду: «cd /d c:\Putty\pscp.exe»*, где «c:\Putty\» — путь к файлу pscp.exe.
    * Путь к файлу «c:\Putty\pscp.exe» приведен в качестве примера.
  4. Далее можно приступать непосредственно к работе с файлом. Например, передать файл «mydoc.txt» на сервер «192.241.7.16»* со стандартным портом и пользователем Ubuntu74 в папку «root» можно командой:
    * IP-адрес «192.241.7.16» приведен только в качестве примера.

    pscp.exe mydoc.txt Ubuntu74@192.241.7.16:/root/

    Если для соединения используется нестандартный порт (например, 25), то команда примет вид:

    pscp.exe -P 25 mydoc.txt Ubuntu74@192.241.7.16:/root/
  5. Ввести пароль для Ubuntu74.

Скачать файл через PuTTY с сервера «192.241.7.16» в текущую папку можно с помощью команды:

pscp.exe Ubuntu@192.241.7.16:/root/mydoc.txt

Чтобы объединить файлы, нужно их загрузить на удаленную машину, а затем выполнить команду «sudo cat mydoc1.txt mydoc2.txt > mydoc.txt».

Распространенные ошибки

Проблемы с аутентификацией

PuTTY выдает при подключении сообщение: «Access denied». Это указывает на отказ в доступе, причиной которого являются ошибки при вводе логина или пароля.

Распространенные ошибки PuTTY

Если соединение с удаленным сервером происходит при помощи SSH-ключа, то PuTTY выдаст в диалоговом окне такие строки:

Permission denied (publickey).
PuTTY Error output

Причины ошибки

Ошибка «Access denied» связана с некорректной аутентификацией на основе ключей. Вызвать ее может отсутствие соответствующих прав доступа к файлам или невозможность подтвердить права владельца.

Как решить

  1. Проверить параметры аутентификации (логин и пароль).
  2. Проверить наличие и правильность имени SSH-ключа в PuTTY.
  3. Выполнить проверку содержимого кода SSH-ключа в «authorized_keys».

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

  1.   Перейти в папку «/etc/ssh/», а затем открыть файл «sshd_config».
  2. Далее необходимо найти строки «PasswordAuthentication: YES» и «PermiRootLogin: NO». Значения переменных требуется поменять на противоположные значения, т. е. «PasswordAuthentication: NO» и «PermiRootLogin: YES».
  3. После сохранения изменений необходимо перезапустить PuTTY и соединиться с удаленным сервером.

Подробнее о том, как создать удаленное соединение для разных дистрибутивов Linux, можно узнать из отдельных руководств:

  • Для Ubuntu;
  • Для CentOS;
  • Для Debian.

Ошибка подключения

Если программа PuTTY выдает ошибку «Unable to open connection to mysite.ru Host does not exist»*, то это свидетельствует о том, что ссылка на SSH-хост не соответствует сетевому адресу.
Домен mysite.ru приведён для примера.

При истекшем времени подключения или отказе в соединении PuTTY выдаст сообщения «Network error: Connection timed out» и «Network error: Connection refused» соответственно.

Причины ошибки

  • Отсутствие сетевого подключения. 
  • Неверно указан IP-адрес. 
  • Порт не поддерживается или его значение задано неверно. 
  • Блокировка исходящего подключения антивирусом или брандмауэром.

Как решить

Чтобы исправить ошибку, рекомендуется действовать по приведенной ниже инструкции.

  1. Проверить IP-адрес хоста.
  2. Убедиться, что порт не блокируется какой-либо программой. При необходимости внести его в список исключений.
  3. Проверить конфигурацию PuTTY во вкладках «Session» и «Connection».
  4. В список исключений антивируса или брандмауэра необходимо внести стандартный порт 22.

Установка PuTTy

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

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

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

Тех. информация

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

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

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

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

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

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

В панели управления на странице VPS можно найти строку вида «ssh root@45.67.56.72»:

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

Для подключения через Putty эту строку нужно разбить на части. В поле “Host Name (or IP-address)” мы записываем только IP-адрес сервера, который идет после символа @.

Далее нажимаем «Open». В открывшемся окне нажимаем «Да».

После этого в командной строке нас спросят: сначала логин — вводим root, затем пароль от пользователя root.

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

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

man [имя команды] — выдаст подробную информацию по команде, например: man mv
Для выхода из man, т.е. из руководства по команде, нажмите q (Quit — Выход). 
[имя команды] —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 [имя директории] — создание директории (папки);

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел «Помощь и поддержка».

Что такое SSH

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

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

Что такое PuTTY

PuTTY – это бесплатная программа под Windows для работы по SSH. Она позволяет подключиться к удаленному серверу или компьютеру. Скачать PuTTY можно с официального сайта. Для ознакомления рекомендуем скачать портативную версию PuTTY 32 или 64 бита без необходимости установки.

Скачивание PuTTY

Скачивание PuTTY

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

Чтобы подключиться по SSH через PuTTY:

  1. В строку «Host Name (or IP address)» введите сервер и нажмите «Open».
  2. В открывшейся консоли, введите имя пользователя, нажмите «Enter».
  3. Введите пароль, нажмите «Enter».

Работа с PuTTY

Работа с PuTTY

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

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

Использование SSH клиента PuTTY

Общие команды терминала

Просмотр процессов (top)

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

Просмотр процессов через top

Завершение процессов (kill и killall)

Бывают ситуации, когда какой-либо процесс зависает и его нужно завершить. В команде top можно посмотреть идентификатор процесса и завершить его с помощью kill 100, где 100 — это идентификатор процесса. Иногда процесс может продолжить выполняться, в данном случае можно выполнить принудительное завершение с помощью kill -9 100.

Если процессов много, можно завершить их по имени с помощью команды killall. Например, для завершения всех PHP процессов, которые выполняются при вызове сайта в браузере, а также консоли, можно вызывать killall php lsphp, если это не помогло, выполните принудительное завершение killall -9 php lsphp.

Очистка консоли (clear)

С помощью команды clear можно очистить консоль.

Просмотр процессов через top

Просмотр истории (history)

С помощью команды history можно посмотреть последние выполненные команды.

[~]$ history
  1  ls
  2  curl -o 10MB https://speedtest.selectel.ru/10MB
  3  ls
  4  clear
  5  history

Команды для работы с файлами и каталогами

Список файлов и каталогов (ls)

С помощью команды ls можно получить список файлов и каталогов в текущей директории.

[~]$ ls
Maildir  application_backups  domains  imap  public_html

Если передать параметры l и h, то можно увидеть детальную информацию по владельцу, правам и размер файлов.

[~]$ ls -lh
total 20K
drwxrwx--- 5 akkyoh mail   4.0K May 16  2019 Maildir
drwx------ 2 akkyoh akkyoh 4.0K Oct 12  2021 application_backups
drwx--x--x 3 akkyoh akkyoh 4.0K Nov  2  2021 domains
drwxrwx--- 3 akkyoh mail   4.0K Aug 20  2017 imap
-rw-rw-r-- 1 akkyoh akkyoh   18 Nov 28 15:33 phpinfo.php
lrwxrwxrwx 1 akkyoh akkyoh   39 Aug 20  2017 public_html -> ./domains/phoenix.p-host.in/public_html

Для просмотра каталога, отличного от текущего, можно передать аргумент в виде полного или относительного пути.

[~]$ ls domains
phoenix.p-host.in

Размер файлов и каталогов (du)

Команда du выполняет подсчет размера файлов и каталогов.

[~]$ du *
4       Maildir/tmp
8       Maildir/new
4       Maildir/cur
20      Maildir
4       application_backups
17572   domains
300     imap
4       phpinfo.php
0       public_html

Пример выше немного сокращен (убран вывод размера вложенных каталогов), однако простой вызов du * не очень удобен, так как размер выводится в байтах, выводится размер всех подкаталогов. Удобнее передать параметры s для запрета вывода размера каждого подкаталога, h для получения размера каталогов в человеко-понятном виде (мегабайтах и гигабайтах), а также c для получения общего размера данных.

[~]$ du -hsc *
20K     Maildir
4.0K    application_backups
18M     domains
300K    imap
4.0K    phpinfo.php
0       public_html
18M     total

Вместо * (все каталоги и файлы в текущей директории) можно передавать полный или относительный путь для подсчета размера одной директории.

[~]$ du -hs domains
18M     domains

Просмотр содержимого файла (cat)

С помощью команды cat можно посмотреть любой файл.

[~]$ cat phpinfo.php
<?php
phpinfo();

Если файл очень большой, то можно дополнить вызов командой less, это позволить листать файл стрелками на клавиатуре. Выйти из такого режима можно путем нажатия q.

[~]$ cat phpinfo.php | less
<?php
phpinfo();

Создание каталога (mkdir)

Для создания каталога нужно использовать команду mkdir.

[~]$ ls
Maildir  application_backups  domains  imap  phpinfo.php  public_html
[~]$ mkdir files
[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html

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

[~]$ mkdir -p files/photos/2022
[~]$ ls files
photos
[~]$ ls files/photos
2022

Переход между каталогами (cd).

Для перемещения по каталогам нужно использовать команду cd. Можно использовать как полные, так и относительные пути. Передача ~ приведет к переходу в домашний каталог пользователя, передача .. направит Вас в каталог на уровень ниже. С помощью команды pwd можно посмотреть полный путь каталога, в котором Вы находитесь.

[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html
[~]$ cd domains
[domains]$ ls
phoenix.p-host.in
[domains]$ cd ~
[~]$ cd domains/phoenix.p-host.in
[phoenix.p-host.in]$ ls
logs  private_html  public_ftp  public_html  stats
[phoenix.p-host.in]$ pwd
/home/akkyoh/domains/phoenix.p-host.in
[phoenix.p-host.in]$ cd ~
[~]$ cd /home/akkyoh/domains/phoenix.p-host.in
[phoenix.p-host.in]$ ls
logs  private_html  public_ftp  public_html  stats
[phoenix.p-host.in]$ cd ../
[domains]$ ls
phoenix.p-host.in

Создание файлов (touch)

С помощью команды touch можно создать пустой файл.

[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html
[~]$ touch empty.txt
[~]$ ls
Maildir  application_backups  domains  empty.txt  files  imap  phpinfo.php  public_html

Удаление файлов и каталогов (rm)

Для удаления файла можно вызвать команду rm с именем нужного файла, при удалении каталогов обязательно нужно передавать параметр r.

[~]$ ls
Maildir  application_backups  domains  empty.txt  files  imap  phpinfo.php  public_html
[~]$ ls files/photos
2022
[~]$ rm empty.txt
[~]$ rm -r files/photos/2022
[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html
[~]$ ls files/photos

Копирование файлов и каталогов (cp, scp, rsync)

Для копирования элементов можно использовать cp, scp и rsync, но каждая из этих команд обычно используется для своих целей. cp используется для копирования файлов и каталогов в пределах одного сервера (команды scp и rsync можно использовать идентично при копировании данных в пределах одного сервера).

[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html
[~]$ ls files
photos
[~]$ cp -r domains files
[~]$ cp phpinfo.php files
[~]$ ls files
domains  photos  phpinfo.php

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

[~]$ rsync phpinfo.php user@lite.host:/home/user
The authenticity of host 'lite.host (127.0.0.1)' can't be established.
RSA key fingerprint is c1:4a:72:68:fe:7a:e0:b1:95:3d:78:78:01:27:1f:13.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'lite.host,127.0.0.1' (RSA) to the list of known hosts.
user@lite.host's password:

Сначала нужно подтвердить соединение с сервером путем ввода yes (запрашивается только один раз при первом подключении) и нажатия Enter, далее вводим пароль и передача будет завершена. scp для передачи файлов между серверами работает идентично.

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

[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html
[~]$ rm phpinfo.php
[~]$ ls
Maildir  application_backups  domains  files  imap  public_html
[~]$ rsync user@lite.host:/home/user/phpinfo.php .
user@lite.host's password:
[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html

Обратите внимание, что поменялся порядок переданных аргументов, сначала мы указали удаленный сервер, а потом текущий каталог ..

Перемещение и переименование (mv)

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

[~]$ ls
Maildir  application_backups  domains  files  imap  phpinfo.php  public_html
[~]$ mv phpinfo.php index.php
[~]$ mv files test.lite.host
[~]$ ls
Maildir  application_backups  domains  imap  index.php  public_html  test.lite.host
[~]$ mv index.php domains
[~]$ mv test.lite.host domains
[~]$ ls
Maildir  application_backups  domains  imap  public_html
[~]$ ls domains
index.php  phoenix.p-host.in  test.lite.host

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

[domains]$ ls
index.php  phoenix.p-host.in  test.lite.host
[domains]$ mv index.php test.lite.host ..
[domains]$ cd ..
[~]$ ls
Maildir  application_backups  domains  imap  index.php  public_html  test.lite.host

В этом примере мы находились в каталоге domains, откуда переместили файл index.php и каталог test.lite.host в подкаталог ниже ...

Работа с правами доступа (chmod)

Права доступа — это тема отдельной статьи, в рамках вводной статьи мы ограничимся тем, что в большинстве случаев для работы сайтов на каталоги должны быть установлены права 755, а на файлы 644.

Просмотреть текущие права каталога или файла можно с помощью команды stat. Изменить права можно с помощью команды chmod. В примере ниже мы установим права 644 на файл index.php.

[~]$ stat index.php
  File: `index.php'
  Size: 18              Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d      Inode: 146026      Links: 1
Access: (0600/-rw-------)  Uid: (  502/  akkyoh)   Gid: (  504/  akkyoh)
Access: 2022-11-28 16:26:05.204491581 +0300
Modify: 2022-11-28 16:26:05.204491581 +0300
Change: 2022-11-28 16:45:46.942786977 +0300
[~]$ chmod 644 index.php
[~]$ stat index.php
  File: `index.php'
  Size: 18              Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d      Inode: 146026      Links: 1
Access: (0644/-rw-r--r--)  Uid: (  502/  akkyoh)   Gid: (  504/  akkyoh)
Access: 2022-11-28 16:26:05.204491581 +0300
Modify: 2022-11-28 16:26:05.204491581 +0300
Change: 2022-11-28 16:46:15.808402631 +0300

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

[~]$ ls -l
total 24
drwxrwx--- 5 akkyoh mail   4096 May 16  2019 Maildir
drwx------ 2 akkyoh akkyoh 4096 Oct 12  2021 application_backups
drwx--x--x 3 akkyoh akkyoh 4096 Nov 28 16:41 domains
drwxrwx--- 3 akkyoh mail   4096 Aug 20  2017 imap
-rw-r--r-- 1 akkyoh akkyoh   18 Nov 28 16:26 index.php
lrwxrwxrwx 1 akkyoh akkyoh   39 Aug 20  2017 public_html -> ./domains/phoenix.p-host.in/public_html
drwx------ 4 akkyoh akkyoh 4096 Nov 28 16:19 test.lite.host

Иногда нужно поменять права на файлы и каталоги массово, это удобно делать с помощью комбинации команд find и chmod. Приведенные ниже команды установят 644 на файлы и 755 на каталоги для всех элементов внутри текущего каталога (включая подкаталоги).

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

Редактирование файлов (vi и nano)

Основными редакторами в операционных системах Linux являются vi и nano. Для новичков будет удобнее nano, так как он очень похож на обычные редакторы в Windows.

Для редактирования файла в nano достаточно первым аргументом передать название файла, например, nano index.php. Далее, нужно внести нужные изменения, для выхода нужно нажать Ctrl + X и подтвердить сохранение файла путем ввода Y и нажатия Enter.

Изменение файла через nano

Открыть редактор vi можно по аналогии vi index.php. Для ввода текста нужно нажать кнопку i. Когда будут внесены изменения, нужно выйти из режима редактора с помощью кнопки Esc. После введите :, слева внизу появится строка ввода, введите туда wq и нажмите Enter для сохранения изменений и выхода из редактора.

Изменение файла через vi

Работа с архивами

Команда для работы с архивами зависит от типа архива, рассмотрим наиболее популярные — zip, tar.gz, tar и gz.

Для создания ZIP архива нужно использовать команду zip, рекомендуем передавать параметр r для запаковки данных в подкаталогах, первым аргументом будет название архива, последующие — файлы и каталоги, которые мы добавляем в архив.

[~]$ ls
Maildir  application_backups  domains  imap  index.php  public_html  test.lite.host
[~]$ zip -r test.zip index.php test.lite.host
  adding: index.php (stored 0%)
  adding: test.lite.host/ (stored 0%)
  adding: test.lite.host/photos/ (stored 0%)
  adding: test.lite.host/phpinfo.php (stored 0%)

Для распаковки полученного архива нужно использовать команду unzip. Если при распаковке некоторые файлы уже существуют, архиватор спросит как действовать (пропустить или перезаписать такие файлы).

[~]$ unzip test.zip
Archive:  test.zip
 extracting: index.php
   creating: test.lite.host/
   creating: test.lite.host/photos/
 extracting: test.lite.host/phpinfo.php

Архивы GZ используются для сжатия одиночных файлов (это может быть простой PHP, SQL файл, а также TAR архив со множеством вложенных файлов). Для сжатия файлов нужно использовать команду gzip, а для распаковки gunzip. Обратите внимание, что при вызове команд исходные файлы удаляются.

[~]$ ls
Maildir  application_backups  domains  imap  index.php  public_html  test.lite.host
[~]$ gzip index.php
[~]$ ls
Maildir  application_backups  domains  imap  index.php.gz  public_html  test.lite.host
[~]$ gunzip index.php.gz
[~]$ ls
Maildir  application_backups  domains  imap  index.php  public_html  test.lite.host

Для запаковки файлов и каталогов в архив TAR.GZ нужно использовать команду tar со специальным набором параметров. Для запаковки мы передаем параметры c (создать архив), z (использовать gzip сжатие), f (указываем имя архива). При распаковке параметр c заменяется на x (извлечь архив). Первым аргументом передаем название архива, последующие — файлы и каталоги для запаковки. Также можно передать параметр v для отображения процесса запаковки.

[~]$ ls
Maildir  application_backups  domains  imap  index.php  public_html  test.lite.host
[~]$ tar -czvf test.tar.gz index.php test.lite.host
index.php
test.lite.host/
test.lite.host/photos/
test.lite.host/phpinfo.php
[~]$ ls
Maildir  application_backups  domains  imap  index.php  public_html  test.lite.host  test.tar.gz
[~]$ tar -xzvf test.tar.gz
index.php
test.lite.host/
test.lite.host/photos/
test.lite.host/phpinfo.php

При работе с архивами TAR (без сжатия), нужно опустить параметр z, все остальное идентично.

Скачивание файлов (wget и curl)

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

[~]$ ls
Maildir  application_backups  domains  imap  public_html 
[~]$ wget https://speedtest.selectel.ru/10MB
--2022-11-28 18:01:36--  https://speedtest.selectel.ru/10MB
Resolving speedtest.selectel.ru... 2a00:ab00:600:1::5, 188.93.16.211
Connecting to speedtest.selectel.ru|2a00:ab00:600:1::5|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10485760 (10M) [application/octet-stream]
Saving to: `10MB'

100%[==================================================================================================================>] 10,485,760  10.8M/s   in 0.9s

2022-11-28 18:01:37 (10.8 MB/s) - `10MB' saved [10485760/10485760]

[~]$ ls
10MB  Maildir  application_backups  domains  imap  public_html

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

[~]$ ls
Maildir  application_backups  domains  imap  public_html
[~]$ curl -o 10MB https://speedtest.selectel.ru/10MB
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10.0M  100 10.0M    0     0  9412k      0  0:00:01  0:00:01 --:--:-- 10.8M
[~]$ ls
10MB  Maildir  application_backups  domains  imap  public_html


Download Article

The complete guide to installing PuTTY and making SSH connections


Download Article

  • Installing PuTTY
  • |

  • Connecting to a Server
  • |

  • Generating Keys
  • |

  • Transferring Files with PSFTP
  • |

  • Tips

PuTTY is a free Windows app that lets you make a secure connection to a remote computer. One of the most common uses for PuTTY is to open a secure shell (SSH) connection to a remote Unix server, such as a Linux-based web server. PuTTY also comes with a secure FTP client (SFTP) called PSFTP, a secure file-transfer tool, and PuTTYgen, a tool you can use to generate public and private SSH keys. This wikiHow guide will teach you how to securely connect to another computer using PuTTY on Windows, and how to use other PuTTY tools to create keys and transfer files.

Things You Should Know

  • You can use PuTTY to connect to school servers, work servers, and web servers securely via SSH.
  • PuTTY is available for Windows from https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html.
  • If the server you’re connecting to requires your public key, you can generate your public/private keypair in PuTTYgen.
  1. Image titled Use Putty in Windows Step 1

    1

    Go to https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html. PuTTY is a free tool for making secure shell (SSH) connections to a remote server. If you were asked to connect to a certain server via SSH (for your website, for work, school, or any other reason), PuTTY is the most straightforward way to connect on Windows.

  2. Image titled Use Putty in Windows Step 2

    2

    Download the «msi» file from the «Package Files» section. All the different files may seem confusing, but there’s no need to worry! In the «MSI (Windows Installer)» section, you’ll see three download links—64-bit x86, 64-bit Arm, and 32-bit x86.[1]

    • First, you’ll need to figure out which file to download by finding your computer’s bit count. Open the Windows Search bar, type about, and then click About your PC. Look at the number next to «System type» in the right panel.
      • If you see «64-bit operating system, x64-based processor,» you need the 64-bit x86 version. Download the file called putty-64bit-0.78-installer.msi.
      • If you see «64-bit operating system, ARM-based processor,» you need the ARM version. Download putty-arm64-0.78-installer.msi.
      • If you see 32-bit operating system, you need the 32-bit version. Download putty-0.78-installer.msi.

    Advertisement

  3. Image titled Use Putty in Windows Step 3

    3

    Run the PuTTY installer. Double-click the installer you downloaded (it’ll be in your default Downloads folder), then follow the on-screen instructions to install PuTTY. Just choose the default settings and you’ll be okay. PuTTY, PSFTP, and PuTTYgen will be added to your Start menu once the installation is complete.

  4. Advertisement

  1. Image titled Use Putty in Windows Step 4

    1

    Gather your server information. Most people won’t need much information to connect to a server with PuTTY. You’ll typically need:

    • The hostname or IP address you want to connect to. A hostname looks like a string of words, like students.harvard.edu or mywebsite.com. An IP address is usually 4 numbers connected together, like 10.0.01.
    • The port you’ll need to connect to. If your work, school, hosting provider, or other party hasn’t provided you with a port, don’t worry—this just means you’ll use the default SSH port of 22.
    • Your username and password for the server.
    • If you’re connecting to a server that has other requirements, such as using a certificate or private key to authenticate, you’ll need those files as well.
      • Most people won’t need to do this, but if your host requires you to do so, you can use PuTTYgen to generate a key for your remote server.
  2. Image titled Use Putty in Windows Step 4

    2

    Open PuTTY for Windows. It’ll be in the Start menu, but you can also type putty into the Windows Search bar to find it quickly. PuTTY will open to the «PuTTY Configuration» screen.

  3. Image titled Use Putty in Windows Step 5

    3

    Fill out the connection fields on your PuTTY client. After you start up PuTTY, a dialogue box will pop up on your screen.

    • Enter the hostname or IP address you want to connect to into the first field.
    • SSH is selected by default, which sets the «Port» field to 22. If you need to SSH to a different port, enter that port into the «Port» field.

      • You can also use PuTTY to telnet into remote servers or check ports, but because telnet isn’t secure, it’s not used much anymore.
    • Type a name for your profile under «Saved Sessions» and click Save. This makes it so you can quickly select this host in the future.
    • If your host requires you to use a private key or certificate, expand the SSH menu, then expand the Auth menu, and select Credentials. Click the Browse… button next to the authentication type your server uses (Private key file and/or Certificate) and select the key or certificate file.
  4. Image titled Use Putty in Windows Step 6

    4

    Click Open to connect to the server. Once the connection is successful, you’ll be prompted to enter your username and password to log in. You can now run any Unix commands allowed by your system administrator.

    • Some sysadmins tighten security by making you SSH into one server just to SSH into another. If you need to SSH into another server from the one you just logged into, use ssh -l username remotehostname.
    • If you didn’t save a profile, you’ll be prompted to do so now. Click Yes or No when prompted.
  5. Advertisement

  1. Image titled Use Putty in Windows Step 8

    1

    Open PuTTYgen for Windows. If you were instructed to create an SSH key pair before connecting to the server via SSH, you can do so easily using PuTTYgen. Type puttygen into the Windows search bar, then click PuTTYgen to launch the tool.

    • Use this method if your system administrator or host asked you to provide them with your public key. Once you create your public key and give it to your sysadmin, they’ll add it to a file that makes it possible for you to connect with PuTTY.
  2. Image titled Use Putty in Windows Step 9

    2

    Choose a key type. You can create RSA, DSA, ECDSA, EdDSA, or SSH-1(RSA) keys. RSA is selected by default, as it’s the most common type of key.

  3. Image titled Use Putty in Windows Step 10

    3

    Click Generate. You’ll see this button next to «Generate a public/private key pair.»

  4. Image titled Use Putty in Windows Step 11

    4

    Move your mouse cursor over the bar. Keep moving the cursor until the progress bar turns completely green. When the bar is filled, your public key will appear.

  5. Image titled Use Putty in Windows Step 12

    5

    Create a key passphrase. Don’t skip this step, as it’s important for security. Enter and confirm a new passphrase to use when connecting to the remote server with your key.[2]

  6. Image titled Use Putty in Windows Step 13

    6

    Save your public and private keys.

    • Click Save public key, choose a location you’ll remember, call the file something like publickey.pub, and click Save.
    • Then, click Save private key, and save it to a location you’ll remember. This time, keep the default file extension of .ppk so you’ll remember that the file is your private key.
  7. Image titled Use Putty in Windows Step 14

    7

    Upload your public key (or share with your sysadmin). The process to add your public key to the SSH server will be different on each server, but you’ll usually have to upload it to a specific location using a web portal or FTP. You may need to copy it from the «Public key for pasting» field in PuTTYgen into an email so your sysadmin can add it. If you were instructed to add the key yourself, the default location for public keys is in your home directory at ~/.ssh/authorized_keys.

    • If the file does not exist, you can create it in your home directory.
    • If the file does exist and already contains a key, you can use a text editor like nano to paste your key on the line directly below the existing key.
  8. Image titled Use Putty in Windows Step 15

    8

    Open PuTTY and select your connection. Once your public key is in the right place, you’ll need to associate your private key with the connection to the server. If you’ve already saved your server information, select that server now. If not, enter the hostname and login information for your server, name the connection, and click Save to create one.

  9. Image titled Use Putty in Windows Step 16

    9

    Go to SSH > Auth > Credentials. You can get here by expanding each of these menus in the «Category» section on the left side of PuTTY.

  10. Image titled Use Putty in Windows Step 17

    10

    Click Browse… next to «Private key file» and select your key. Choose the private key file you generated (the one that ends with .ppk).

  11. Image titled Use Putty in Windows Step 18

    11

    Click Open to connect. As long as your keys match, you’ll be prompted to enter your passphrase and log in to the server via SSH.

  12. Advertisement

  1. Image titled Use Putty in Windows Step 7

    1

    Open PSTFP for Windows. PuTTY comes with a secure FTP app that lets you transfer files between your computer and a remote server. You’ll find PSFTP in the Start menu.

  2. Image titled Use Putty in Windows Step 8

    2

    Type open hostname. Replace hostname with the host name or IP that you need to connect to. A host name follows the format students.harvard.edu, while an IP address looks like this: 10.0.01.

  3. Image titled Use Putty in Windows Step 9

    3

    Press Enter. This initializes the connection to the server.

    • If you are prompted to store a key in your cache, type y.
  4. Image titled Use Putty in Windows Step 10

    4

    Log in to the server. Use the username and password you were assigned for this server. Once you’re logged in, you’ll see a prompt.

  5. Image titled Use Putty in Windows Step 11

    5

    Navigate to the remote folder on which you want to upload or download a file. You’ll use the cd command, which means «change directory,» to do so. Type cd folderpath and press Enter. Replace folderpath with the path to the remote folder you need to access.

    • For example, if you want to upload a new HTML file to a folder called www in your home directory, type cd www and press Enter.
    • You can run the pwd command to view files in the remote folder. If the remote file is running a flavor of Unix, use ls to list the files in the folder.
  6. Image titled Use Putty in Windows Step 12

    6

    Go to the folder on your computer in which you want to save or upload a file. This time, you’ll use the lcd command, which means «local change directory.» Type lcd folderpath, replacing folderpath with the full path of the folder.

    • To see a list of files in the current folder, type !dir and press Enter.
  7. Image titled Use Putty in Windows Step 13

    7

    Upload or download a file. The command is a little different depending on what you want to do. When the transfer is complete, you’ll return to the prompt.

    • For example, if you want to upload a file that’s in your Documents folder, type cd Documents or C:\Users\yourname\Documents.
    • To upload the file to the remote server, type put filename (replacing filename with the file’s real name) and press the Enter key.
    • To download a file, type get filename (replace filename with the actual file name) and press Enter.
  8. Advertisement

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

  • If you’re new to SFTP, you might want to try an app with a graphical user interface (GUI), as it’s a lot easier to use. Check out apps like Filezilla and CuteFTP.

  • Only download the PuTTY software from its official website. If you find PuTTY software anywhere else, download it at your own risk.

Thanks for submitting a tip for review!

Advertisement

References

About This Article

Article SummaryX

1. Download PuTTY from Putty.org.
2. Double-click the installer to run it.
3. Open PuTTY from the start menu.
4. Enter the information for the remote host.
5. Click Open.
6. Sign in with your account on the remote server.

Did this summary help you?

Thanks to all authors for creating a page that has been read 39,107 times.

Is this article up to date?

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

В этой инструкции мы рассмотрим процесс подключения к SSH из Windows 10. Первый способ будет актуален для Windows 10 версии 1809 и выше, а второй можно использовать как на Windows 10, так и на Windows 7.

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

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

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

версия Windows 10

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

раздел Приложения – Дополнительные возможности

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

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

Клиент OpenSSH - Добавить компонент

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

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

Более подробно об установке и удалении клиента OpenSSH можно почитать в официальной документации Майкрософт.

установка клиента OpenSSH

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

ssh в командной строке Windows 10

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

ssh user@server

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

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

ssh [email protected]

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

подключение по ssh в Windows 10

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

ssh [email protected] -p 2222

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

ssh [email protected] -i C:\Users\stepu\.ssh\id_rsa

Более подробную информацию о команде «ssh» и ее параметрам можно получить на сайте man.openbsd.org/ssh или на opennet.ru (перевод).

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

В тех случаях, когда версия Windows 10 не поддерживает OpenSSH (или используется Windows 7) к SSH можно подключаться с помощью программы PyTTY. Скачать установщик данной программы можно на официальном сайте www.putty.org.

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

запуск программы PyTTY

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

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

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

подключение по ssh через программу PyTTY

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

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

ввод приватного ключа в программу PyTTY

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

запрос логина и пароля в PyTTY

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

Посмотрите также:

  • Как удалить папку в Linux через терминал (консоль)
  • Как открыть файл в терминале Linux
  • Как создать файл в Linux через терминал
  • Как скопировать файл в Linux через терминал
  • Как удалить файл в Linux через терминал

Автор
Александр Степушин

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.

  • Putty windows 10 что это
  • Punto switcher как удалить windows 10
  • Psyphone free vpn for windows
  • Putty windows 10 64 bit скачать
  • Punto switcher для windows что это