Блог компании Genesis Web Studio

Блог для сотрудников, клиентов и просто зивак...

апр 06
2010

SSH авторизация по ключу

Posted by:

Tagged in: Untagged 

Вступление

SSH прекрасный способ для удаленного доступа на *nix системы. И если вам приходиться часто подключаться к серверу то посстоянный ввод пароля со временем изрядно надоедает. Хотя и занимает пару а то и одну секунду для ввода этих тайных символов, через какоето время эти секунды могут сложится в дни, месяцы и годы.... Для экономии нашего с вами времени можно организовать так называемую аунтификацию по ключам. Ощущение комфорта  появляется сразу же после того как вам понадобилось, как это у меня часто бывает, открыть несколько терминалов. От слов к делу...

Сервер

 

Клиент

Клиент это компьютер с которого вы будете подключатся с помощью SSH на удаллённый сервер для выполненя команд. С начало нам нужно сгенерировать пару ключей публичный и приватный.

client# ssh-keygen -t rsa -N 'my secret phrase' -f ~/.ssh/id_rsa

Затем добавить содержимое  публичного ключя id_rsa.pub в файл ~/.ssh/authorized_keys  на удалённом сервере. это можно сделать с клиента этой командой.

cat ~/.ssh/id_dsa.pub | ssh user@remote.machine.com 'cat >> .ssh/authorized_keys'

ввести пароль и можно пробывать зайти по ssh

ssh remote.machine.com

Скрипт для ленивых

Так как Администраторы люди изрядно ленивые то я создал этот скрипт

#!/bin/sh

CURRENTUSER=user

KEYFILE=id_rsa

SSHDIR=~/.ssh

SSHKG=/usr/bin/ssh-keygen

RHOST=remote.machine.com

cd ${SSHDIR} ${SSHKG} -t rsa -N '' -f ${KEYFILE}

cat ${KEYFILE}.pub | ssh ${CURRENTUSER}@${RHOST} 'mkdir -m 700 .ssh; cat >> .ssh /authorized_keys'