голосование
PHP
BASH
Javascript
HTML
Программы
Firebird
Майнинг
PostgreSQL
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Как настроить доступ к серверу без пароля по ключу ssh rsa linux

Рано или поздно вы начнете работать с удаленными серверами. Не важно что это будет - виртуальный сервер или выделенный сервер. Я покажу вам как создавать ключи и пробрасывать их на удаленный компьютер. Вам нужно будет создать ключ, прописать настройки, отправить ключ rsa. Что дают ключи rsa? Вы при подключении к серверу не будите водить пароль. Если вы используете BASH скрипты, которые проникают на удаленные серверы, то вам не придётся каждый раз прописывать пароли. Самое главное - это удобная работа с github и bitbucket. Вам нужно сделать git push origin master и данные улетят на удалённый сервер и не надо вводить каждый раз пароль. Если вы питонист и используете технологию fabric, то вам необходимо использовать rsa ключи.

Приступим. Для начала нужно пробраться в папку ~/.ssh на вашем компьютере. Осмотрите папку при помощи команды ls


#пробираемся в папку с ключами 
cd ~/.ssh

#осмотритесь 
ls
#вывод
known_hosts *

known_hosts - это файл который принимает отправленные на ваш сервер ключи. Список известных ключей серверов хранится в этом файле. Если ваш компьютер не работает как публичный сервер, то можете в него не заглядывать. При публичном доступе к серверу у вас должен быть статичный ip-адрес на машине. Если вы находитесь на удаленном сервере то можете проверить этот файл на наличие вашего rsa ключа. Вы смотрите у себя rsa.pub публичный ключ и сверяйте его запись с записью в одной из строк known_hosts на удалённом сервере. Я запоминаю последние 4 цифры для сверки.

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


#генерация ключа
ssh-keygen -t rsa
#вас попросят ввести имя ключа, вводите имя_rsa
#пароль не вводите

#осмотритесь 
ls

#вывод
known_hosts *_rsa  *_rsa.pub

Вы создали два ключа. Один с *_rsa.pub - публичный ключ для отправки на удаленные сервера. Ключ без .pub на конце *_rsa - это зашифрованный ключ. Его никому не передавайте. Теперь задача простая связать ключи и сервера. Покажу вам свой файл config.


#осмотр файла
cat ~/.ssh/config

#вывод файла config
Host bitbucket.org
 IdentityFile ~/.ssh/git_rsa
 
Host github.com
 IdentityFile ~/.ssh/git_rsa

#создаем файл config и связываем ключи + ip
vim ~/.ssh/config

Поставьте свои настройки. Если у вас VDS сервер, то вместо названия сервера пропишите ip удаленного сервера. Теперь вам нужно перенести публичные ключи rsa на удаленный сервер. Для bitbucket.org и github.com нужно будет найти в профиле пункт ssh-key. Там нужно будет создать запись и вставить скопированный ключ в поле. Копирование ключа - это копирование текста из ключа rsa. Откройте публичный rsa ключ в текстовом файле и скопируйте содержимое. Так выглядит перенос на bitbucket.org и github.com.

github настройки ssh-ключей github
bitbucket настройки ssh-ключей bitbucket

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


#проброс на боевой сервер
ssh-copy-id -i ~/.ssh/test_rsa.pub root@188.*.*.11

После ввода вас попросят ввести пароль пользователя. Советую пробросить как для root, так и для других пользователей. Теперь у вас есть удаленный доступ на сервер без пароля


#доступ на удаленный сервер
ssh root@188.*.*.11

Если вы имеете репозиторий на github, то нужно проверить урл вашего удаленного репозитория. Введите команду git remote -v и посмотрите на результат. Если у вас примерно такой репозиторий origin https://github.com/user123/test.git , то его нужно изменить на git@github.com:user123/test.git. Если вы не измените урл, то даже при проброшенных ключах rsa у вас будут запрашивать пароль на сервере github при отправке данных git push.


#смена урл для удаленного репозитория
git remote set-url origin git@github.com:user123/test.git
просмотры: 241, уровень: лёгкий уровень, рейтинг: 0, дата: 2019-01-28 21:58:59
проголосовать:

Комментарии:






поиск
реклама
сайты друзей
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.