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

Как настроить доступ к серверу без пароля по ключу 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
просмотры: 359, уровень: лёгкий уровень, рейтинг: 0, дата: 2019-01-28 21:58:59
проголосовать:

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






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