Linux Addicted Man ([info]ekrava) wrote,

ssh безпарольный вход, авторизация по ключам,

$
cd .ssh
ssh-keygen -t dsa -f mysuperkey
пару раз enter (лечится -N '' )
потом cat mysuperkey >>id_dsa
scp mysuperkey.pub host:.ssh/
потом ssh host
и там уже
cd .ssh
cat mysuperkey.pub >>authorized_keys
chmod 600 authorized_keys
и посмотреть в конфиге /etc/ssh/sshd_config
чтоб было вот так
RSAAuthentication yes (необязательно, но если ключи будут RSA ...)
PubkeyAuthentication yes
AuthorizedKeysFile     %h/.ssh/authorized_keys
--
ну и рестартануть sshd (не обязательно, но на всяк случай не помешает)
Tags: *nix, .linux, .nix, .ssh, .work, debian, shell, ubuntu

  • Post a new comment

    Error

    Your reply will be screened

    Your IP address will be recorded 

  • 60 comments

[info]smitik

February 27 2007, 19:26:14 UTC 5 years ago

cd ~
ssh-keygen -t dsa
пару раз enter
scp .ssh/id_dsa.pub remote.server:".ssh/authorized_keys"
ssh remote.server

[info]ekrava

February 27 2007, 20:24:53 UTC 5 years ago

ну вкратце верно, но я не хочу "перезаписывать" тот authorized_keys что там уже лежит.
я хочу добавить туда...
кстати да, облажался, спасибо я уже заметил, что вместо >> написал >

[info]ex_hectop

February 27 2007, 19:33:58 UTC 5 years ago

ты еще забыл сделать chmod 600 .ssh/authorized_keys и позакрывать доступ к самой папке .ssh и /home/user иначе OpenSSH по умолчанию работает в StrictModes yes и откажется пускать юзера, это самая частая ошибка, кстати.
На локальных тачках можно ставить StrictModes no и не имать муму ессно.

[info]ente

February 27 2007, 19:55:59 UTC 5 years ago

До первого хакера который уведет с собой ~/.ssh , куда лучше сгенерить ключи зашифрованые паролем и потом после загрузки компа один раз сказать ssh-add и держать ключ в памяти.

1. Генерим ключи с указанием пассфразы, пассфразу надежно запоминаем.
2. Ложим ключи к себе в ~/.ssh
3. Пишем в /etc/rc.local или что там у вас
=== Cut ===
su ente -c ssh-agent > ~ente/tmp/ssh-agent
cat ~ente/tmp/ssh-agent | grep SSH_ | awk '{print "export "$2"="$3}' > ~ente/tmp/ssh-agent.sh
=== Cut ===
* - у меня шелл по умолчанию tcsh, но иногда приходится пользоваться sh/bash и вторая строчка генерит конфиг и для sh/bash, если используется только один шелл, то вторая строчка не нужна
4. Пишем в профиль ". ~ente/tmp/ssh-agent.sh" для bash или "source ~ente/tmp/ssh-agent" для tcsh
5. Перегружаемся или запускаем ssh-agent вручную, залогиниваемся, набираем ssh-add, вводим пассфразу
6. Ключи загружены, до перезагрузки пассфразу больше никто не спросит.

[info]smitik

February 27 2007, 20:12:32 UTC 5 years ago

Если у Вас хакер смог забрать .ssh/*, ssh-agent Вам никак не поможет.

[info]smitik

5 years ago

[info]ekrava

5 years ago

[info]ekrava

February 27 2007, 20:23:01 UTC 5 years ago

прикольно ты пошутил,
теоретически, ну увел хакер с собой ~/.ssh/* с машины где был мой публичный ключик?
и шо ему это даст? к себе в home./ssh/ положит? шоб я смог в гости зайти? или как?
потому как по открытому ключу его ко мне не пустит... эт точно :)

[info]kastaneda

February 27 2007, 20:55:00 UTC 5 years ago

Если уж параноя, то по полной. Кроме ssh-agent'а, ~/.ssh должно быть симлинком на флешку.

[info]ekrava

5 years ago

[info]solfrazier

3 years ago

[info]alex_butenko

March 3 2007, 13:52:08 UTC 5 years ago

а я ssh-agent вот так пускаю:

SSH_ENV="$HOME/.ssh/environment"
# let's check ssh-agent
ps ux |grep -q ssh-agent|grep -v -q grep ||ssh-agent -s > $SSH_ENV
. $SSH_ENV > /dev/null

Удобно. Если ssh-agent запущен, то он просто подставляет переменные окружения,
если нет, то запускает.

[info]gvy

5 years ago

[info]gvy

5 years ago

[info]ekrava

February 27 2007, 20:23:27 UTC 5 years ago

да да, про 600 забыл :(

[info]kastaneda

February 27 2007, 20:51:35 UTC 5 years ago

Фигня.
Не надо создавать ~/.ssh, не надо переходить в домашний каталог...

ssh-keygen -b 2048 -t rsa [ Enter, Enter, Enter... ]
cat ~/.ssh/id_rsa.pub | ssh me@other-host 'cat - >> ~/.ssh/authorized_keys'

[info]kastaneda

February 27 2007, 20:52:49 UTC 5 years ago

И уж тем более не надо перезапускать sshd.

[info]ekrava

February 27 2007, 22:01:32 UTC 5 years ago

у тебя по умолчанию включена авторизация по ключам?
у меня допустим оно было закоментировано...
перезапуск sshd как раз для этого, потому как я просто не помню, перечитывает ли он конфиг при изменении или нет.

[info]kastaneda

5 years ago

[info]gvy

5 years ago

[info]andyruss

5 years ago

[info]gvy

5 years ago

[info]ekrava

3 years ago

[info]gvy

3 years ago

[info]ekrava

3 years ago

[info]gvy

3 years ago

[info]ekrava

3 years ago

[info]netch

February 27 2007, 23:56:15 UTC 5 years ago

> пару раз enter

вместо этого просто -N ''

RSAAuthentication для DSA ключа точно не нужна.:)

Ну а вообще есть сторонники убирать пароли и оставлять доступ только по ключам. Я не совсем согласен - надо бы давать штатный метод решать, откуда можно ходить паролями, а откуда только ключами.

[info]ekrava

February 28 2007, 17:59:43 UTC 5 years ago

про RSA да... но если мой пост поможет хоть одному человечку сделать авторизацию по ключам, он был написан не зря.

[info]gvy

March 4 2007, 16:29:13 UTC 5 years ago

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

[info]iijii

June 14 2009, 08:22:18 UTC 2 years ago

> но если мой пост поможет хоть одному человечку сделать авторизацию по ключам, он был написан не зря.

Спасибо, долго бился с манами, а Ваш пост поставил всё на свои места.

[info]kolo

July 2 2008, 13:17:23 UTC 3 years ago

> если мой пост поможет хоть одному человечку сделать авторизацию по ключам, он был написан не зря.

Да, помог, спасибо ;)

[info]ekrava

July 2 2008, 18:38:26 UTC 3 years ago

а можно поставить ссылку на мой пост. с ключевыми словами ssh auto keys authorized ?

P.S. хочу собрать тут 1000 комментов

[info]kolo

July 2 2008, 18:42:02 UTC 3 years ago

Где поставить? В ЖЖ 2mf ничего и никогда не будет.
Могу написать вам большой благодарственный пост в блоге. Надо? ;))

[info]ekrava

3 years ago

[info]kolo

3 years ago

[info]ekrava

3 years ago

[info]kolo

3 years ago

[info]ekrava

3 years ago

[info]kolo

3 years ago

[info]ekrava

3 years ago

[info]kolo

3 years ago

[info]ekrava

3 years ago

[info]kolo

3 years ago

[info]ekrava

3 years ago

[info]kolo

3 years ago

[info]ekrava

3 years ago

[info]kolo

3 years ago

[info]ekrava

3 years ago

[info]slach

October 20 2008, 14:59:32 UTC 3 years ago

уважаемый ... БОЛЬШОЕ спасибо за полезный топик
а вы случайно не сталкивались с такой проблеоемой?

после того как нашли уязвимости в OpenSSH в генерации ключей в debian

сервер у меня на lenny клиент на etch
пытаюсь сделать все по методике

но ЛЮБОЙ ключ сгенерированный на etch машине автоматически детектится в блеклисте на lenny
в дебаг режиме sshd показывает примерно следующее

debug1: Found 06:82:67:d6:0c:ce:5b:26:ba:15:47:68:08:ff:b7:1b in blacklist
Public key 06:82:67:d6:0c:ce:5b:26:ba:15:47:68:08:ff:b7:1b from 192.168.3.100 blacklisted (see ssh-vulnkey(1)

поставил как временное решение
в lenny:/etc/ssh/sshd_config

PermitBlacklistedKeys yes

но что делать? как правильно решить проблему то?
гугль ничего вразумительного не говорит
у знакомых точно такая же конфигурация и с etch на lenny прекрасно по ssh ключам коннектится

есть мысли по поводу?

[info]ekrava

October 20 2008, 17:23:14 UTC 3 years ago

включить security репозиторий для etch ?

[info]ekrava

October 20 2008, 17:25:17 UTC 3 years ago

и почитать

http://www.debian.org/security/2008/dsa-1638

[info]kirillrst.moikrug.ru

October 23 2008, 09:00:25 UTC 3 years ago

Не усложняем, KISS (http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_KISS). CentOS 5.1
На клиентской машине выполняем 2 комманды, генерация ключа (жмем несколько ентеров) и копирование его на сервер.
ssh-keygen -q
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.0.252

Все, можно заходить, пароля не спросит: ssh 192.168.0.252

[info]h2bw

November 24 2009, 17:16:04 UTC 2 years ago

С Днем Рождения!

[info]ekrava

November 24 2009, 19:01:38 UTC 2 years ago

спс
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…