Linux где папка ssh

Основные SSH команды

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

SSH это такой протокол для удаленного управления. Я как веб-разработчик использую его для управления своим веб-сервером, конечно есть панель ISP Manager, которая позволяет делать в принципе тоже самое, но только через графический интерфейс, а ssh все-же имеет больше возможностей

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

Введение

  • Нажмите Enter или Return после каждой команды, если не указано иное.
  • Домен example.com должен быть заменен на ваше доменное имя.
  • Всякий раз, когда вы видите username, вы должны заменить его на имя вашего пользователя.
  • Примеры пути и имена файлов должны быть заменены на не что есть у вас на сервере.

Требования

В данной статье предполагается, что:

  • у вас есть SSH доступ к вашему серверу.
  • Вы используете терминал, или PuTTY (Windows), чтобы войти на сервер.

Поехали

Для начала нам нужно авторизоваться, открываем SSH клиент и вводим

После этого вас попросят ввести пароль, Внимание: пароль вводится не видимо для пользователя – просто набирайте и нажмите Enter или Return.
Если все хорошо, то вы увидите что то вроде этого

После этого вы окажитесь в папке /var/www/username/data если у вас Debian, если нет то папка будет немного другая, но суть та-же.

Для того чтоб узнать где мы сейчас находимся есть ssh команда

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

Используйте эту команду для перемещения по папкам:

Если вы хотите продолжить путь от текущей директории, то первый слэш использовать не нужно. Пример:

Для перемещения на уровень выше используйте двоеточие, как в CSS))

Чтоб попасть в домашнюю директорию можно использовать вот такую SSH команду

Что тут?

Дальше вы можете узнать о том какие файлы и папки находятся в вашей директории

ls команда которая показывает список файлов и папок. -alh модифицирует стандартный вывод.
a — говорит что нужно показать даже скрытые файлы
l — позволяет показать полную информацию о файле(права, размер, пользователя, дату)
h — делает вывод более читабельным

Файлы

Давайте разберем элементы, которые отображается при запуске LS-ALH из предыдущего раздела.

-rw-r—r— это права файла или папки, про них вы можете почитать где-нибудь в другом месте
1 – количество ссылок на этот файл
example.com – владелец файла
example.com – группа к которой файл принадлежит
83 – размер файла
83 Oct 21 09:47 – дата изменения файла
index.php – название файла

Изменение прав

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

Используйте эту команду для копирования файла в другую папку(первый пример) или для копирования файла в ту же папку(второй пример)

cp

это команда, logo.png – имя исходного файла, затем идет имя нового файла, включая информацию о пути, если необходимо.

Так же вы можете скопировать целую папку, со вложенными фалами, используя -R

Перемещение или переименование

Команды осень походи на команды копирования файла

mv – основная команда. Она перемещает logo.png в image/ поддиректорию.

А еще вы можете переименовать файл

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

Ну и еще примерчик

Тут мы папочку image перемещаем на уровень выше

Создание и редактирование файлов

Если это существующий файл, то вы увидите его содержимое, если файл не существует, то он создастся и откроется для редактирования.
Файл откроется в редакторе vi о том как им пользоваться можете погуглить, это обширная тема.

Простое создание файла

Выполнение этой команды просто создаст файл

Быстрый просмотр файла

Если вам нужно просто посмотреть файлик то используйте кошку))(cat)

Удаление файла

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

На что вы можете получить вопрос, хотите ли вы его удалить? Нажимайте y и он будет удален. Внимание: файл будет удален навсегда, а не в корзину, так что думайте прежде чем удалять.

Если нужно удалить каталог со всеми вложенными файлами используйте:

Скачивание файла по ssh

Для того чтоб скачать файл с другого сервера по ssh нужно выполнить следующую комманду

Введя этот код(изменив его на свой) вам потребуется ввести пароль от для того юзера которого вы указали, в нашем случае это your_username, затем начнется скачивание файла foobar.txt с удаленной директории /some/remote/directory в вашу /some/local/directory

А вот еще хороший аналог предыдущего действия, отличается тем что этот в отличие от того показывает процесс копирования и сколько осталось

Читайте также:  Добавить значки панель задач windows

Источник

Установка SSH в Ubuntu

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

Служба SSH позволяет получить доступ к терминалу удаленного компьютера и выполнить там все необходимые вам команды. При своей простоте она достаточно безопасна, чтобы использоваться для решения серьезных коммерческих задач, так и задач обычных пользователей. В этой статье мы рассмотрим как выполняется установка SSH в Ubuntu 20.04, а также поговорим о начальной настройке SSH сервера.

Что такое SSH?

SSH или Secure Shell — это протокол безопасного доступа из одного компьютера к другому по сети. У протокола SSH очень много возможностей. Вы можете создавать защищенные соединения между компьютерами, открывать командную строку на удаленном компьютере, запускать графические программы, передавать файлы и организовывать частные сети.

За поддержку протокола SSH в Linux отвечает набор программного обеспечения OpenSSH. Это открытая реализация этого протокола, которая предоставляет все необходимые возможности. В состав пакета OpenSSH входят утилиты для установки соединения, передачи файлов, а также сам ssh сервер.

Установка OpenSSH в Ubuntu

Установить SSH на Ubuntu будет очень просто, программа считается стандартной и используется почти везде. Хотя по умолчанию в дистрибутиве её нет, но зато она есть в официальных репозиториях.

Поэтому для установки откройте терминал с помощью сочетания клавиш Ctrl+Alt+T и выполните команду:

sudo apt install openssh-server

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

sudo systemctl enable sshd

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

sudo systemctl disable sshd

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

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

Точно таким способом вы можете получить ssh доступ ubuntu к любому другому компьютеру из сети. Для этого достаточно указать вместо localhost его ip адрес и имя пользователя в таком формате:

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

Настройка SSH в Ubuntu

С параметрами по умолчанию сервер SSH не очень безопасен поэтому перед тем, как программа будет готова к полноценному использованию ее нужно немного настроить. Все настройки сервера SSH хранятся в конфигурационном файле sshd_config, который находится в папке /etc/ssh.

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

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults

Дальше вы можете перейти к настройке конфигурационного файла:

sudo vi /etc/ssh/sshd_config

Первым делом желательно сменить порт, на котором работает ssh, возможный злоумышленник не знал включен ли у вас этот сервис. Найдите в конфигурационном файле строчку Port и замените ее значение на любое число, например, Port 2222:

По умолчанию вход от имени суперпользователя включен, рекомендуется отключить такую возможность. Для этого найдите строчку PermitRootLogin и замените ее значение на no:

Чтобы разрешить аутентификацию по ключу, а не по паролю найдите строку PubkeyAuthentication и убедитесь, что ее значение yes.

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

sudo systemctl restart ssh

Более подробно про настройку и использование различных тонкостей ssh рассказано в статье как использовать ssh.

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

ssh -p 2222 localhost

К тому же, если на компьютере установлен и настроен брандмауэр, то в нем тоже нужно разрешить доступ к новому порту ssh, для этого выполните:

sudo ufw allow 2222

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

sudo ufw allow 22

Настройка ssh Ubuntu 20.04 полностью завершена.

Выводы

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

На завершение видео, где подробно рассказано о том, что такое SSH:

Источник

🔐 Как просмотреть свои SSH-ключи на Linux, macOS и Windows

Вы знаете, что создали эти сертификаты SSH, но как их посмотреть?

Те, кто знаком с SSH, вероятно, уже знают ответ на этот вопрос.

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

Что вам понадобится

Единственное, что вам понадобится для этого, – это доступ к серверу или рабочему столу (Linux, macOS или Windows) и созданный ключ SSH.

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

Как посмотреть свой открытый ключ SSH на Linux

Есть два простых способа просмотреть свой открытый ключ SSH на Linux.

Первый метод немного сложен, потому что в нем используются команды ssh-agent и ssh-add.

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

После успешной аутентификации ваш открытый ключ SSH будет показан в терминале.

Как посмотреть свой открытый ключ SSH на macOS

Просмотр ключей на macOS можно выполнить аналогично Linux.

Читайте также:  Downloading google chrome on windows 10

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

Где USERNAME – ваше имя пользователя macOS.

Приведенные выше команды выведут ваш открытый ключ SSH.

В macOS есть еще один интересный трюк.

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

Эта команда будет следующей:

Как посмотреть свой открытый ключ SSH на Windows

В Windows вы будете использовать команду type для просмотра открытого ключа SSH следующим образом:

Где USERNAME – имя вашего пользователя.

Приведенная выше команда отобразит ваш открытый ключ SSH.

Затем вы можете использовать сочетание клавиш Ctrl + c, чтобы скопировать содержимое файла.

Вы также можете сделать что-то похожее на то, что мы делали в macOS (копирование открытого ключа SSH непосредственно в буфер обмена), используя следующие команды type и clip:

Где USERNAME – ваше имя пользователя.

Теперь вы можете вставить этот ключ в любое место.

Как посмотреть свой закрытый ключ

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

В конце концов, это секрет, который никогда не выставляется на всеобщее обозрение.

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

Помните, что id_rsa – это закрытый ключ, а id_rsa.pub – открытый ключ.

И это все, что нужно для просмотра открытых и закрытых ключей SSH в Linux, macOS и Windows.

Источник

Мой первый опыт с Linux. Настройка Ubuntu Sever 20.04, подключения по SSH и удаленное подключение к базе данных

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

Начну с того, что скажу зачем мне вообще это понадобилось. А все просто, интересно. Я захотел создать десктопное приложение с базой данных, но я так уже делал и я захотел немного усложнить задачу, так как мне, в случае успеха, придется устанавливать эту программу для корпоративных целей, то базу данных надо переместить на сервер. Так что я взял старенький ноутбук и решил из него попробовать сделать сервер для базы данных. И столкнулся со множеством проблем, решение которых заняло у меня дня так три(если не учитывать то время, которое я пытался провозиться еще и с VirtualBox дня 2), хотя для некоторых может это и будет казаться легкотней, но для меня это было интересно и познавательно, ладно, начнем.

Установка Ubuntu Server.

Процесс установки Ubuntu Server, легко найти в интернете, например https://info-comp.ru/drugieopersistemi/644-install-linux-ubuntu-server-18-04.html. Хоть Ubuntu Server там и 18.04 я думаю эту руководство подойдет и для версии 20.04.

Настройка сети.

Ну перейдем к теме настройки сети. Цель настроить wifi. В интернете полно руководств по настройки проводного подключения, но мне так и не удалось найти руководство по настройке wifi, после которого бы у меня он заработал. wifi мне нужен в основном для того, чтобы во время разработки не быть привязанным к проводной сети. Но для того, чтобы его настроить все таки сначала понадобится проводная сеть. В принципе по умолчанию для проводной сети ip адрес определяется по DHCP, так что достаточно просто вставить Enternet-кабель и интернет заработает. Если это не так, то моя статья по этому поводу не поможет(уж извините). Дальше нам понадобится установить пакет net-tools. Для этого выполните команду:

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

Нас интересует интерфейс wlp2s0 у вас он может называть по другому, например wlan0. Он отвечает за беспроводное соединение. Теперь, когда мы узнали название сетевого интерфейса, можем переходить к настройке wifi. Мои проблемы с настройкой wifi были лишь из-за того, что в версиях Ubuntu Server, начиная с 18.04 настройка сети происходит с помощью утилиты Netplan. Конечно в сети полно информации про нее и как ей пользоваться, мне например очень помогла статья https://fomich0ff.github.io/2019/05/05/wifi-on-rpi-ubuntu-server/. Тут все очень кратко расписано. Но даже после этих статей у меня так и не заработал wifi. Ну начнем. Для начало надо попасть в файл конфигурации, для этого набираем команду:

Появиться окно с настройками. Далее я приведу уже свои настройки(естественно скрыв SSID и password).

Для проверки нашего конфигурационного файла вводим команду:

И для того, чтобы настройки вступили в силу, вводим команду:

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

После этого у меня сразу заработал wifi(если не заработал, то можно попробовать перезагрузить систему). Теперь, когда появился wifi, можно перейти к настройке ssh.

Настройка SSH

Настроим конфигурационный файл, для этого выполним команду:

Откроется примерно такой файл:

# — закомментированные поля. Описание всех полей можно найти в интернете. Я лично раскомментировал следующие:

Port — по умолчанию идет 22, но для безопасности лучше поменять, я поставил 2023.

Protocol — протокол SSH. Первый протокол плохо защищен, так что ставим 2.

PermitRootLogin — если поля имеет значение no, то при подключение через SSH невозможно будет войти за root.

Читайте также:  Windows клавиатура меню правая кнопка мыши

PubkeyAuthentication — разрешает/запрещает входить по публичному ключу(расм. далее)

AuthorizedKeysFile — показывает файлы с публичными ключами

PasswordAuthentication — если поле имеет значение yes, то возможно будет войти с помощью пароля пользователя, иначе можно будет войти только по ключу(если PubkeyAuthentication yes)

Все остальные поля я оставил как они и были(там были и другие раскомментированные поля)

После настройки необходимо перезагрузить ssh, для этого выполним команду:

Дальше во всех статьях, которые мне попадались, говорили, что можно смело подключаться по SSH, но как я не пытался в ответ я получал только connection refused(соединение отклонено). Кстати, чтобы подключиться необходимо ввести команду:

port — порт подключения, в моем случае 2023

username — имя пользователя(в моем случае vavilonbase, например)

hostname — имя хоста(к этому вернемся далее)

В качестве hostname я сначала использовал localhost, но все мои попытки не увенчались успехом, я долго мучался с этим подключение, пока наконец не нашел ответ, а именно, то что у меня были закрыты порты на роутере, открыть их мне помогла статья https://lumpics.ru/how-to-open-ports-on-router/.

Я лишь покажу конечный результат переадресации портов:

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

И после этого ввести пароль, все готово.

При первом подключение может возникнуть сообщение:

Картинка с сайта: https://losst.ru/kak-podklyuchitsya-po-ssh

Здесь надо написать yes и нажать Enter.

SSH-ключ

Входит по паролю конечно хорошо, но еще лучше входить без пароля, но защищено, а именно по SSH ключу. В интернете полно руководств как сгенерировать SSH-ключ на Linux и перебросить его на ubuntu-server, например эта статья: https://losst.ru/avtorizatsiya-po-klyuchu-ssh

Но в интернете мне было сложно найти точное описание как же это сделать в Windows(а у меня основная машина WIndows). Так что я покажу все это на примере WIndows. Начнем.

Для начало надо установить на Windows клиент OpenSSH(кстати, его же надо установить и для подключения по ssh по паролю).

Для этого надо сделать все как на картинках:

В этой вкладке смотрим, если ли клиент OpenSSH

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

Теперь, когда у нас есть клиент OpenSSH перейдем к генерации ключа.

Для генерации ключа вводим в терминале Windows команду:

Дальше вас спросят следующие данные:

Куда сохранять эти ключи, обычно меняют путь, который предлагается по умолчанию(если хотите оставить путь по умолчанию, просто нажмите Enter)

Дальше, в случае, если вы уже генерировали ключи, спросят хотите ли вы их перезаписать

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

Все ключ сгенерирован, дальше то с чем у меня по началу возникали проблемы. А именно, для клиента OpenSSH Windows нет команды sshcopyid, благодаря которой происходила отправка ключа на сервер в WIndows. Я лично использовал для этих целей команду scp.

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

То есть создаем папку .ssh(если она еще не создана)

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

Теперь выполним следующую команду:

Посмотрим, что здесь что:

-P — стоит заметить, что P — большая, это важно, тут мы вводим порт.

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

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

Но это отнюдь не все, если вспомнить, то когда мы настраивали sshdconfig, то мы как раз таки указывали какие файлы у нас отвечают за ключ, а именно

/.ssh/authorizedkeys, то есть нам надо переименовать файл. Переходим на сервер и вводим следующие команды:

Все готово. Пробуем войти и радуемся.

Настройка БД

Ну перейдем к тому, для чего все это и было затеяно. В качестве БД у меня PostgreSQL.

Для установки БД можно воспользоваться этой статьей: https://losst.ru/ustanovka-postgresql-ubuntu-16-04. Дальше создадим пользователя app и тестовую базу данных appdb. Выполним команды:

Когда база данных создана, хотелось бы подключится к ней с другого компьютера, для этого настроим конфигурационные файлы postgresql.conf и pg_hba.conf. Для их редактирования выполним команды:

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

listen_addresses = ‘localhost’ поменять на listen_addresses = ‘*’ и для безопасности изменить порт по умолчанию(5432).

Во втором файле необходимо изменить следующую строку(см. картинку)

А именно адрес в ней, в моем случае у меня адрес компьютера статический и я могу записать его сюда. Вы так же можете сделать его статическим(см. статью про открытие портов, там до переадресации делали адрес сервера статическим). То есть здесь мы указываем адреса, который могут подключится к базе данных, в случае, если такой не один, просто копируем всю строку и меняем адрес на новый. После этого перезагружаем сервер postgresql. Выполним команду:

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

То есть тут мы запрашиваем у сервера его версию, получаем следующий ответ:

Как видно сервер вернул ответ с версией, а значит все настроено верно.

Ну на этом все. Как я и сказал, я в Linux полный новичок, так что если есть какие-либо советы я только рад. Это статья служит скорее как шпаргалка мне, так как мне это и правда был интересный опыт и я бы хотел запечатлить его в виде такой вот статьи. Спасибо всем за внимание.

Источник

Оцените статью