Содержание
- Применение и возможности PuTTY
- Установка на Windows
- Работа с программой
- Распространенные ошибки
PuTTY — программа, которая позволяет установить соединение с удаленным сервером или компьютером. Программу можно также применять для реализации следующих целей:
- удаленного администрирования;
- взаимодействия с VPS-серверами.
- работы с Telnet-терминалами;
- настройки маршрутизаторов через RS-232;
Работать рекомендуется через SSH, поскольку он обеспечивает высокий уровень безопасности соединения с другим компьютером. PuTTY поддерживает Telnet, реализующий текстовый интерфейс в терминале (только для отображения текстовой информации в режиме консоли).
Возможности программы
- Сохранение информации и конфигурационных параметров для многократного применения.
- Работа с SSH-ключами.
- Поддержка разных версий SSH-протокола.
- Встроенные клиенты SCP и SFTP, используемые для различных операций с файлами. Возможности первого ограничиваются только функцией копирования.
- Перенаправление портов через протокол SSH.
- Поддержка xterm, ECMA-48 и VT-102.
- Возможность соединения по IPv6.
- Работа с алгоритмами шифрования.
- Аутентификация через ключ, который расположен на удаленной машине.
- Соединение через proxy.
- Использование порта RS-232.
Установка на Windows
- Программа PuTTY для Windows 10 скачивается с официального сайта.
- Далее нужно перейти по ссылке, скачать пакет для архитектуры x86 или x64, а затем запустить установку.
- После установки необходимо проверить программу на работоспособность, запустив исполняемый файл на Windows.
Работа с программой
Интерфейс
Пользоваться программой PuTTY удобно, т. к. она имеет понятный интерфейс. Чтобы ее настроить, нужно знать назначение основных ее вкладок.
- Session позволяет задать параметры соединения, чтобы подключиться к серверу (IP-адрес, протокол и порт), а также сохранить настройки для многократного использования.
- Terminal: режим активации или деактивации терминала.
- Window: установка кодировки и изменение интерфейса.
- Connection отвечает за выбор шифрования, аутентификацию без ввода пароля и т. д.
Соединение с удаленным сервером
Принцип подключения не зависит от операционной системы. Это могут быть разные версии Windows (7, 10) или популярные дистрибутивы на основе Linux — Ubuntu, CentOS, Debian.
Подключиться по SSH через PuTTY просто. Для этого нужно следовать приведенной ниже инструкции.
- Ввести IP-адрес или имя хоста, к которому необходимо подключиться.
- Указать порт (по умолчанию везде 22).
- Выбрать тип соединения SSH.
- Ввести название подключения и сохранить его, нажав кнопку «Save».
- Активировать соединение, нажав на «Open».
- Указать данные для авторизации (логин и пароль).
После этого работа с терминалом осуществляется, как на локальном компьютере. Чтобы узнать информацию о версии Ubuntu, нужно ввести команду:
sudo lsb_release -a.
Для удобства можно создать жесткую ссылку (ярлык) на программу для быстрого запуска.
Использование SSH-ключей
Чтобы постоянно не вводить данные авторизации для соединения с удаленным сервером, нужно установить ключ SSH-типа.
Для примера, продемонстрируем ниже, как подключиться через PuTTY, установленного в Windows 10, при помощи SSH-ключа к серверу на Ubuntu.
Шаг №1
Для начала, нужно выполнить ряд действий на компьютере с ОС Windows.
- Установить программу для генерации ключа «Putty Key Generator» и запустить ее.
- Задать параметр «RSA» и активировать процесс кнопкой «Generate». Нужно постоянно вводить указателем мыши в зоне окна выполнения операции для успешной генерации.
- Сохранить private key, для чего скопировать текст из консоли в документ. Предварительно нужно указать тип файла «.ppk».
- Затем сохраняем public key. Для этого необходимо скопировать и вставить текст из буфера обмена в любой пустой текстовый файл.
- Свернуть программу.
Шаг №2
Далее необходимо перенести SSH-ключ на сервер Ubuntu, выполнив перечисленные ниже действия.
- Запустить программу PuTTY.
- Подключиться к серверу, используя его параметры для доступа (хост, порт и SSH-протокол).
- Командой «mkdir .ssh» создаем папку «.ssh». Затем командой «ll» проверяем наличие папки.
- Прописываем права доступа для папки .ssh только для владельца, командой «сhmod 700 .ssh/».
- При помощи команды «cd .ssh» переходим в системную папку «./ssh».
- Создаем файл «authorized_keys», используя редактор nano, командой:
touch authorized_keys
- Прописываем права доступа для файла «authorized_keys», только для владельца, командой:
сhmod 600 authorized_keys
- Редактируем файл с помощью команды:
cat >> authorized_keys << EOF»
- Добавляем ваш public key и заканчиваем редактирование файла командой «EOF».
Шаг №3
Возвращаемся к программе PuTTY на Windows 10.
- Переходим в программу.
- Добавляем данные для подключения.
- Переходим во вкладку «Connection → SSH → Auth». Выбираем для аутентификации сохраненный файл «.ppk».
- Активируем соединение при помощи нажатия «Open».
Работа с файлами
Программа позволяет делать операции с файлами. Чтобы закачать файл на сервер, находящийся под управлением Linux Ubuntu (с компьютера на ОС Windows), нужно действовать по приведенной ниже инструкции.
- Сохранить тестовый файл «mydoc.txt» на диске C:\ вместе с исполняемым файлом для безопасного копирования — pscp.exe.
- Открыть командную строку Windows: «Win+R → cmd → Enter».
- Зайти в папку с программой pscp.exe, для чего ввести команду: «cd /d c:\Putty\pscp.exe»*, где «c:\Putty\» — путь к файлу pscp.exe.
* Путь к файлу «c:\Putty\pscp.exe» приведен в качестве примера.
- Далее можно приступать непосредственно к работе с файлом. Например, передать файл «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/
- Ввести пароль для 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». Это указывает на отказ в доступе, причиной которого являются ошибки при вводе логина или пароля.
Если соединение с удаленным сервером происходит при помощи SSH-ключа, то PuTTY выдаст в диалоговом окне такие строки:
Permission denied (publickey).
PuTTY Error output
Причины ошибки
Ошибка «Access denied» связана с некорректной аутентификацией на основе ключей. Вызвать ее может отсутствие соответствующих прав доступа к файлам или невозможность подтвердить права владельца.
Как решить
- Проверить параметры аутентификации (логин и пароль).
- Проверить наличие и правильность имени SSH-ключа в PuTTY.
- Выполнить проверку содержимого кода SSH-ключа в «authorized_keys».
Если ни один из вариантов не дал положительного результата, то нужно воспользоваться альтернативным графическим клиентом WinSCP. С его помощью нужно реализовать описанную ниже последовательность действий.
- Перейти в папку «/etc/ssh/», а затем открыть файл «sshd_config».
- Далее необходимо найти строки «PasswordAuthentication: YES» и «PermiRootLogin: NO». Значения переменных требуется поменять на противоположные значения, т. е. «PasswordAuthentication: NO» и «PermiRootLogin: YES».
- После сохранения изменений необходимо перезапустить 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-адрес.
- Порт не поддерживается или его значение задано неверно.
- Блокировка исходящего подключения антивирусом или брандмауэром.
Как решить
Чтобы исправить ошибку, рекомендуется действовать по приведенной ниже инструкции.
- Проверить IP-адрес хоста.
- Убедиться, что порт не блокируется какой-либо программой. При необходимости внести его в список исключений.
- Проверить конфигурацию PuTTY во вкладках «Session» и «Connection».
- В список исключений антивируса или брандмауэра необходимо внести стандартный порт 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»:
Для подключения через 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 бита без необходимости установки.
Подключение по SSH через PuTTY
Чтобы подключиться по SSH через PuTTY:
- В строку «Host Name (or IP address)» введите сервер и нажмите «Open».
- В открывшейся консоли, введите имя пользователя, нажмите «Enter».
- Введите пароль, нажмите «Enter».
Обратите внимание: при вводе пароля в консоли не будет никаких изменений, вводимые символы не отображаются, писать придется вслепую.
Для вставки имени пользователя и пароля из буфера обмена можно использовать одинарное нажатие правой клавиши мыши (по аналогии можно вставлять команды). После введения данных станет доступна командная строка, по умолчанию будет открыт домашний каталог пользователя. Теперь можно вводить команды для управления сервером, ознакомимся с некоторыми из них.
Использование SSH клиента PuTTY
Общие команды терминала
Просмотр процессов (top)
С помощью команды top
можно посмотреть список активных процессов, а также использование процессора и оперативной памяти сервера.
Завершение процессов (kill и killall)
Бывают ситуации, когда какой-либо процесс зависает и его нужно завершить. В команде top
можно посмотреть идентификатор процесса и завершить его с помощью kill 100
, где 100 — это идентификатор процесса. Иногда процесс может продолжить выполняться, в данном случае можно выполнить принудительное завершение с помощью kill -9 100
.
Если процессов много, можно завершить их по имени с помощью команды killall
. Например, для завершения всех PHP процессов, которые выполняются при вызове сайта в браузере, а также консоли, можно вызывать killall php lsphp
, если это не помогло, выполните принудительное завершение killall -9 php lsphp
.
Очистка консоли (clear)
С помощью команды clear
можно очистить консоль.
Просмотр истории (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.
Открыть редактор vi можно по аналогии vi index.php
. Для ввода текста нужно нажать кнопку i
. Когда будут внесены изменения, нужно выйти из режима редактора с помощью кнопки Esc. После введите :
, слева внизу появится строка ввода, введите туда wq
и нажмите Enter для сохранения изменений и выхода из редактора.
Работа с архивами
Команда для работы с архивами зависит от типа архива, рассмотрим наиболее популярные — 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
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
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
- 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.
-
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.
Advertisement
-
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
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
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
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.
Advertisement
-
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
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
Click Generate. You’ll see this button next to «Generate a public/private key pair.»
-
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
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
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
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
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
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
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
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.
Advertisement
-
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
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
Press ↵ Enter. This initializes the connection to the server.
- If you are prompted to store a key in your cache, type y.
-
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
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
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
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.
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 или выше, то все нормально, в противном случае сначала нужно выполнить обновление.
Также нужно открыть меню «Параметры» и зайти в раздел «Приложения – Дополнительные возможности».
Здесь нужно пролистать список установленных дополнительных компонентов и найти в нем «Клиент OpenSSH». Если такой компонент присутствует, значит все нормально и можно переходить к следующему шагу. Если нет, то его нужно сначала установить с помощью меню «Добавить компонент».
Обратите внимание, не нужно путать «Клиент OpenSSH» и «Сервер OpenSSH». Для подключения по SSH вам нужен именно клиент.
Также клиент OpenSSH можно установить с помощью PowerShell. Для этого запустите консоль PowerShell с правами администратора и выполните следующую команду:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Более подробно об установке и удалении клиента OpenSSH можно почитать в официальной документации Майкрософт.
Если версия Windows 10 подходящая и клиент OpenSSH установлен, то можно начинать подключение по SSH. Для этого запустите обычную командную строку Windows и введите команду «ssh». В ответ вы должны получить информацию о работе с данной командой.
В общем случае синтаксис команды «ssh» выглядит следующем образом:
ssh user@server
Где «user» — это имя пользователя на удаленном сервере, а «server» — это имя компьютера или его ip адрес.
Например, если наш сервер доступен по ip адресу «192.168.1.214», а имя пользователя это «aleks», то команда для подключения будет выглядеть так:
ssh [email protected]
После ввода данной команды появится запрос пароля и после этого мы получим доступ к удаленному серверу. Также при первом подключении с помощью ssh будет появляться запрос на добавление сервера в список известных.
По умолчанию для 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 ее можно будет запустить с помощью поиска в меню «Пуск»
Сразу после запуска программы PuTTY появляется окно с настройками подключения. Основными параметры здесь находятся на вкладке «Session», здесь нужно ввести:
- Имя компьютера или IP адрес;
- Порт для подключения (по умолчанию, 22);
- Способ подключения (SSH);
После ввода этих данных можно запускать подключение с помощью кнопки «Open».
Если для подключения к SSH используются ключи, то путь к приватному ключу нужно указать в разделе «Connection – SSH – Auth».
Обратите внимание, ключ должен быть сгенерирован программой PuTTYgen, которая устанавливается вместе с PuTTY. Если вы сгенерировали ключи с помощью OpenSSH, то их можно загрузить в PuTTYgen и сохранить в формате подходящем для PuTTy.
Если информация для подключения правильная, то вы увидите консоль с запросом на ввод имени пользователя пароля. Также при первом запуске появится запрос на добавление компьютера в список известных.
После ввода этих данных вы будете подключены к удаленному серверу по SSH.
Посмотрите также:
- Как удалить папку в Linux через терминал (консоль)
- Как открыть файл в терминале Linux
- Как создать файл в Linux через терминал
- Как скопировать файл в Linux через терминал
- Как удалить файл в Linux через терминал
Автор
Александр Степушин
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.