Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Авторизация по ключу, не пускает  (Прочитано 9062 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Shogun147

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Добрый всем день!

Вроде все делаю по фэншую но все-равно не пускает   :dash1 :wacko

Ubuntu 10.10

Что делаю:

1. Создаю нового пользователя в системе
Код: (nocolor) [Выделить]
sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git
2. Создаю для него .ssh и .ssh/authorized_keys
Код: (nocolor) [Выделить]
su git
cd /home/git
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
3. Для своего пользователя создаю ключи без пароля
Код: (nocolor) [Выделить]
ssh-keygen -t rsa
4. Копирую публичный ключ пользователю гит
Код: (nocolor) [Выделить]
sudo cp /home/shogun/.ssh/id_rsa.pub /home/git/.ssh/shogun.pub
5. Добавляю ключ в authorized_keys
Код: (nocolor) [Выделить]
cd /home/git/.ssh
cat shogun.pub >> authorized_keys
6. Делаю рестарт ssh сервиса, не уверен нужно это или нет но...
Код: (nocolor) [Выделить]
sudo service ssh restart
7. Пытаюсь подключится
Код: (nocolor) [Выделить]
ssh git@localhost
а он мне в ответ требует пароль... ((

короткий дебаг
Код: (nocolor) [Выделить]
OpenSSH_5.5p1 Debian-4ubuntu5, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to localhost [::1] port 22.
debug1: Connection established.
debug1: identity file /home/shogun/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/shogun/.ssh/id_rsa-cert type -1
debug1: identity file /home/shogun/.ssh/id_dsa type -1
debug1: identity file /home/shogun/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-4ubuntu5
debug1: match: OpenSSH_5.5p1 Debian-4ubuntu5 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'localhost' is known and matches the RSA host key.
debug1: Found key in /home/shogun/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/shogun/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/shogun/.ssh/id_dsa
debug1: Next authentication method: password
git@localhost's password:
Вроде все проходит нормально и даже ключ проходит(ssh_rsa_verify: signature correct), но потом Roaming not allowed by server, может и за этого, гугл не помог.

Помогите пожалуйста, целый день на этом потерял. :crazy

Спасибо.


Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #1 : 09 Июля 2011, 22:46:15 »
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
Параноя нигде не жмёт? Дайте хотя бы демону прочитать public-key.

sudo chmod -R +r cd /home/git/.ssh
Чего Вы его боитесь-то давать читать? Пусть обчитаются - без private-key - это набор символов.

Оффлайн Shogun147

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #2 : 09 Июля 2011, 23:35:34 »
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
Параноя нигде не жмёт? Дайте хотя бы демону прочитать public-key.

sudo chmod -R +r cd /home/git/.ssh
Чего Вы его боитесь-то давать читать? Пусть обчитаются - без private-key - это набор символов.
Не параноя, в доках советуют, да и +r не помогает, пробовал.

Пользователь решил продолжить мысль 10 Июля 2011, 18:59:12:
:'( :'(
« Последнее редактирование: 10 Июля 2011, 18:59:12 от Shogun147 »

Оффлайн memfis

  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #3 : 30 Ноября 2011, 23:18:40 »
В развитие темы.

Есть локальная машина М1, на на ней пользователь Р1. Есть удаленная машина М2 и, соотв., Р2. Хочу по ключам коннектиться через ssh. Если вводить в командной строке и с паролем - то все ок. Но при попытке залить ключ на удаленную машину через ssh-copy-id заливается указанный команде ключ id_rsa.pub (т.е. указать можно любой). Но при команде

 ssh P2@M2

машина М2 ждет-то ключ пользователя Р2, а не Р1, который на самом деле эта команда пытается скормить.

Наводки в ssh --h я не увидел. Какие будут мысли?

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #4 : 30 Ноября 2011, 23:36:23 »
Мысль одна. Все работает следующим образом:
- входите на машину M1: ssh P1@M1
- (предполагаем, что ssh-keygen уже отработал ранее и ключи у нас есть)
- копируем нужный ключ на машину M2: ssh-copy-id -i .ssh/id_rsa.pub P2@M2
- вводим пароль пользователя P2 на машине М2
- в дальнейшем входим по ключу без ввода пароля: ssh P2@M2


Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Авторизация по ключу, не пускает
« Ответ #5 : 30 Ноября 2011, 23:49:16 »
Наводки в ssh --h я не увидел. Какие будут мысли?
LESS='-p -i' man ssh?

Оффлайн memfis

  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #6 : 01 Декабря 2011, 00:12:19 »
Мысль одна. Все работает следующим образом:
- входите на машину M1: ssh P1@M1
- (предполагаем, что ssh-keygen уже отработал ранее и ключи у нас есть)
- копируем нужный ключ на машину M2: ssh-copy-id -i .ssh/id_rsa.pub P2@M2
- вводим пароль пользователя P2 на машине М2
- в дальнейшем входим по ключу без ввода пароля: ssh P2@M2


М1 - это моя локальная, я уже в ней. И ssh-copy-id -i .ssh/id_rsa.pub P2@M2 передает на М2 ключ Р1 с М1. А входить на М2 я все же буду как Р2.
Команда создания ключа создает ключ пользователя. под логином которого он и создается. По логике получается, что на М2 надо залить ключ Р2, созданный на машине М1 (для этого надо создавать ему аккаунт, чего не хотелось бы). Я вот например не знаю, содержит ли открытый ключ в каком-либо виде логин и имя машины? - т.е. если взять ключ Р1 и внаглую заменить в его хвосте Р1@М1 на Р2@М1 - прокатит ли? а как оно тогда будет дружить с закрытым ключом? - в нем лог\хост в явном виде не прописаны (открытый и закрытый сопоставляются по имени файла?)

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Авторизация по ключу, не пускает
« Ответ #7 : 01 Декабря 2011, 08:57:13 »
memfis,
p1@m1$ ssh-keygen -t rsa -f ~/.ssh/p2@m2
p1@m1$ ssh-copy-id -i ~/.ssh/p2@m2.pub p2@m2
p1@m1$ ssh -i ~/.ssh/p2@m2.pub p2@m2

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #8 : 01 Декабря 2011, 11:21:33 »
на M2 покажите вывод ls -la ~/.ssh в каталоге пользователя P2

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #9 : 01 Декабря 2011, 16:09:48 »
memfis, просто проделайте то, о чем я говорил. Если НЕ заработает - то подробно что произошло сюда.

Оффлайн memfis

  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #10 : 01 Декабря 2011, 22:00:39 »
memfis, просто проделайте то, о чем я говорил. Если НЕ заработает - то подробно что произошло сюда.

u1@m1:~$ ssh u1@m1
The authenticity of host '[localhost]' can't be established.
RSA key fingerprint is af:f1:ed:21:44:86:78:e7:5f:44:f8:b6:d8:63:ef:6d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]' (RSA) to the list of known hosts.
u1@m1's password:
Linux IBM 3.1.0-2-generic-pae #3-Ubuntu SMP Fri Oct 28 21:37:10 UTC 2011 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

u1@m1:~$
u1@m1:~$ cd .ssh
u1@m1:~/.ssh$ ssh-copy-id '-i id_rsa.pub u2@m2'
u2@m2's password:
Now try logging into the machine, with "ssh '-i id_rsa.pub u2@m2'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

u1@m1:~/.ssh$

u1@m1:~/.ssh$ ssh u2@m2
u2@m2's password:

Понятно, что в этом эксперименте мы опять залили на м2 ключ р1 с м1.



Пользователь решил продолжить мысль 01 Декабря 2011, 22:03:33:
на M2 покажите вывод ls -la ~/.ssh в каталоге пользователя P2

u1@m1:~/.ssh$ ssh u2@m2
u2@m2's password:
Welcome to Ubuntu 11.04 (GNU/Linux 3.1.0-030100-generic i686)

 * Documentation:  https://help.ubuntu.com/

New release 'oneiric' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Wed Nov 30 23:02:06 2011 from 188.143.155.150
u2@m2:~$ ls -la ~/.ssh
итого 1136
drwxrwx---  2 u2 1001    4096 2011-11-30 22:10 .
drwxrwx--- 67 u2 u2  1142784 2011-12-01 22:01 ..
-rw-------  1 u2 u2     1384 2011-12-01 21:54 authorized_keys
u2@m2:~$

Пользователь решил продолжить мысль 01 Декабря 2011, 22:06:46:
memfis,
p1@m1$ ssh-keygen -t rsa -f ~/.ssh/p2@m2
p1@m1$ ssh-copy-id -i ~/.ssh/p2@m2.pub p2@m2
p1@m1$ ssh -i ~/.ssh/p2@m2.pub p2@m2

Спасибо, это похоже на рабочее решение. Вопрос такой: м2 как внешнедоступное имя отличается от имени машины. Т.е. обращение идет как ssh u2@m2, а после входа видим приглашение терминала u2@m3. Так с каким именем генерировать ключик? м2 или м3?

Пользователь решил продолжить мысль 01 Декабря 2011, 22:12:34:
Оба варианта попробовал (создал оба ключа, оба залил, оба попробовал) - просит пароль. Видимо при команде коннекта надо еще и имя используемого ключа скормить.
« Последнее редактирование: 01 Декабря 2011, 22:12:34 от memfis »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #11 : 01 Декабря 2011, 22:32:06 »
Вы делаете что-то не то. Вот что я имел в виду (только что проделал, все работает):
vladimir@vladimir:~$ ssh test@vladimir
test@vladimir's password:
Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-13-generic i686)

 * Documentation:  https://help.ubuntu.com/


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

test@vladimir:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test/.ssh/id_rsa):
Created directory '/home/test/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/test/.ssh/id_rsa.
Your public key has been saved in /home/test/.ssh/id_rsa.pub.
The key fingerprint is:
00:6c:e6:1a:44:6b:91:55:ec:ee:02:29:b8:54:28:a5 test@vladimir
The key's randomart image is:
+--[ RSA 2048]----+
| .o+oo.          |
|  +o+..          |
| +++ ..          |
|Eo... ..         |
|o .+ .  S        |
|o.+   .          |
|.o . .           |
|.   . .          |
|     .           |
+-----------------+
test@vladimir:~$ ssh-copy-id -i .ssh/id_rsa.pub root@login
The authenticity of host 'login (10.0.0.3)' can't be established.
RSA key fingerprint is d4:d3:4a:26:ff:be:f7:74:e4:50:0a:3e:ea:83:f2:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'login,10.0.0.3' (RSA) to the list of known hosts.
root@login's password:
Now try logging into the machine, with "ssh 'root@login'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

test@vladimir:~$ ssh root@login
Linux glenmorangie 2.6.32-35-generic-pae #78-Ubuntu SMP Tue Oct 11 17:01:12 UTC 2011 i686 GNU/Linux
Ubuntu 10.04.3 LTS

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

Last login: Thu Dec  1 22:26:54 2011 from 10.0.1.34
root@glenmorangie:~# выход
Connection to login closed.
test@vladimir:~$ выход
Connection to vladimir closed.
Здесь test@vladimir - пользователь1 на машине1 (специально только что создал), root@login - пользователь2 на машине2. УМВР, ЧЯДНТ?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Авторизация по ключу, не пускает
« Ответ #12 : 01 Декабря 2011, 22:39:11 »
Имя файла ключа, имя пользователя, генерирующего ключ, и имя хоста, на котором он был сгененирован, -- это лишь условности, никак не влияющие на результат процесса аутентификации.
Можете переименовать файл, сменить имена пользователей и хостов, как вам будет удобно.

Видимо при команде коннекта надо еще и имя используемого ключа скормить.
Ну, на что я и намекнул с самого начала:
LESS='-p -i' man ssh



ЧЯДНТ?
1) смените имя ключа на отличное от дефолтного;
2) сделайте то же самое из текстового виртуального терминала (alt+ctrl+f1).


Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #13 : 01 Декабря 2011, 22:40:17 »
Не ssh-copy-id '-i id_rsa.pub u2@m2', а ssh-copy-id -i id_rsa.pub u2@m2 кстати. И тогда она будет просить не Now try logging into the machine, with "ssh '-i id_rsa.pub u2@m2'", and check in: а Now try logging into the machine, with "ssh u2@m2", and check in: что и требуется.

Оффлайн memfis

  • Активист
  • *
  • Сообщений: 360
    • Просмотр профиля
Re: Авторизация по ключу, не пускает
« Ответ #14 : 01 Декабря 2011, 23:42:59 »
Не ssh-copy-id '-i id_rsa.pub u2@m2', а ssh-copy-id -i id_rsa.pub u2@m2 кстати. И тогда она будет просить не Now try logging into the machine, with "ssh '-i id_rsa.pub u2@m2'", and check in: а Now try logging into the machine, with "ssh u2@m2", and check in: что и требуется.

В апострофах идет, поскольку ssh-copy-id приходится скармливать нестандартный порт.

Пользователь решил продолжить мысль 01 Декабря 2011, 23:54:44:
Вы делаете что-то не то. Вот что я имел в виду (только что проделал, все работает):
U1@M1:~$ ssh U1@localhost -p 9998
U1@localhost's password:
Permission denied, please try again.
U1@localhost's password:
Linux M1 3.1.0-2-generic-pae #3-Ubuntu SMP Fri Oct 28 21:37:10 UTC 2011 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

New release 'natty' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Thu Dec  1 23:45:43 2011 from M1
U1@M1:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/U1/.ssh/id_rsa):
/home/U1/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/U1/.ssh/id_rsa.
Your public key has been saved in /home/U1/.ssh/id_rsa.pub.
The key fingerprint is:
68:53:f4:c4:53:88:f0:70:ae:8e:9c:f7:47:67:4b:63 U1@M1
The key's randomart image is:
+--[ RSA 2048]----+
|      o.oo.o.    |
|       *.o+      |
|        + ..     |
|       +         |
|      = S        |
|   . = .  . E    |
|    + o  . = o   |
|     . .  . .    |
|        ..       |
+-----------------+
U1@M1:~$ ssh-copy-id "-p 9999 -i .ssh/id_rsa.pub U2@M2"
U2@M2's password:
Now try logging into the machine, with "ssh '-p 9999 -i .ssh/id_rsa.pub U2@M2'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

U1@M1:~$ ssh U2@M2 -p 9999
U2@M2's password:



 ЧЯДНТ?
« Последнее редактирование: 02 Декабря 2011, 00:06:37 от memfis »

 

Страница сгенерирована за 0.03 секунд. Запросов: 21.