LINUX.ORG.RU
ФорумAdmin

Не могу добавить ключ на сервер

 ,


0

1

Есть три компа с Ubuntu14.04 Desktop на борту за NAT-ом с серыми ip. На них нужно коннектится из вне.
Для этих целей взял VDS. Сначала зарегистрировал там двух пользователей user1, user2 для двух
компьютеров соответственно: comp1, comp2 и организовал проброс портов с помощью SSH:

ssh -R828x:localhost:80 userX@serverVDS.
Сгенерировал для двух пользователей ключи соответственно на двух компах. Для comp1 и 2 и пользователей
user1 и 2 всё прошло на ура.
Через месяц понадобилось тоже самое для comp3 и user3.
Генерирую ключ командой
ssh-keygen -t dsa 
Отправляю его на сервер
ssh-copy-id -i .ssh/id_dsa.pub user3@serverVDS 
и получаю ответ ssh_exchange_identification: read: Connection reset by peer
ssh-copy-id -i .ssh/id_dsa.pub user3@serverVDS
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s),to filter out any that are already installed

/usr/bin/ssh-copy-id: ERROR: ssh_exchange_identification: read: Connection reset by peer 
Если соединяться так
ssh user3@serverVDS
и ввести пароль, то соединение устанавливается.
В чём проблема, подскажите.
Я в линуксе туповат ещё.

Перемещено beastie из general

Скопируй ключ туда в ручную. Добавь свой открытый ключ в файл authorized_keys на сервере, обычно в ~/.ssh лежит.

rmu ★★
()
Последнее исправление: rmu (всего исправлений: 1)
Ответ на: комментарий от rmu

Скопировал. По ssh соединяется без проблем. Но: дело в том, что у
меня в rc.local прописано

su user3 -c `autossh -M6543x -R828x:localhost:80 user3@serverVDS` >/var/log/autostart_ssh.log 2>&1 
чтобы при старте компа устанавливалось соединение.
Интернет нестабильный и поэтому в случае его реконнекта ещё в
/etc/network/if-up.d есть скриптик ssh_start с содержимым
#!/bin/bash
autossh -M6543x -R828x:localhost:80 user3@serverVDS >/var/log/ssh_start.log 2>&1
exit 0 

(Точно также сделано на первых двух компах, только с другими пользователями и там всё работает).
Так вот, при старте компа comp3, или при переподключении интернета соединение
не устанавливается. Смотрю логи autostart_ssh.log и ssh_start.log, там строчка Connection reset by peer .
Запускаю вручную
ssh -R828x:localhost:80 user3@serverVDS
всё работает.
Никак не пойму в чём проблема.

Mick555
() автор топика
Ответ на: комментарий от deadNightTiger

Конкретно dsa я не знаю что такое, а id_dsa.pub нужен, чтобы не вводить пароль. Компьютер должен при старте автоматически устанавливать соединение. Около него людей нет, нет клавиатуры мышки и монитора. Человек подходит к нему нажать кнопку «Сеть» только в случае, если комп по каким-либо причинам выключился.

Mick555
() автор топика
Ответ на: комментарий от deadNightTiger

Ну вы специально указываете ssh-keygen -t dsa

Конкретно dsa я не знаю что такое

Потому что так было написано по первой попавшейся ссылке в гугеле, очевидно же.

Valkeru ★★★★
()
Ответ на: комментарий от deadNightTiger

Инструкции нарыл на просторах инета. Было написано ssh-keygen -t dsa. Сделал, как там написано. Сам ни бум-бум, поэтому исправлять не стал. А ещё, два других компа работают именно таким образом.

Mick555
() автор топика
Ответ на: комментарий от deadNightTiger

И вам спасибо, что обратили внимание на rsa/dsa

Mick555
() автор топика
Ответ на: комментарий от Mick555

Раньше с OpenVPN работал, сейчас провайдер блокирует

Поставь openvpn на 443 или какой-то другой незаблокированный порт, sslh в помощь. Анализатор трафика у поставщика интернета вряд ли стоит - вещь дорогая, скорее всего смена порта поможет. Так же можешь попробовать разные протоколы (tcp, udp), ipv6 может не будет блокировать.

rmu ★★
()
Ответ на: комментарий от rmu

не помогает, блокируют пакеты, забыл как они называются. А порты менял, и tcp пробовал и udp. На udp изначально не работал, на tcp443 работал, потом перестал. Вот была тема, так и не законченая Провайдер блокирует работу OpenVPN

Mick555
() автор топика
Ответ на: комментарий от anc

1.Значит я не смог их показать, потому что не разобрался. Я думал, что показал. Это моё недопонимание 2.Почитал эту тему. Сложно для меня как новичка. Если бы кто-то конкретно тыкнул.

Mick555
() автор топика
Ответ на: комментарий от rmu

Посмотрел, спасибо. Как нибудь на досуге попробую.

Mick555
() автор топика
Ответ на: комментарий от Mick555

Заменил ключ на RSA, всё пошло. Но не сразу. Несколько раз пробовал передавать ключ на сервер. Под простым юзером передаётся, а под рутом нет. Ошибка таже Connection reset by peer. Потом просто скопировал ключ на сервер. Главное, система моя заработала.

Mick555
() автор топика
Ответ на: комментарий от Mick555

Конкретно dsa я не знаю что такое

Тип ключа. Можешь уже забыть: в openssh 7 отключено по умолчанию, как слабое. Используй ecdsa или ed25519 какие-нибудь.

а id_dsa.pub нужен, чтобы не вводить пароль

Нужна пара. id_dsa локально, id_dsa.pub там, куда лезешь. С поправкой на вышенаписанное - id_ecdsa и id_ecdsa.pub (ну или ed25519).

Никак не пойму в чём проблема.

Как вариант, запускается от разных пользователей и, на автомате, не может найти id_dsa.

Кстати, вместо authorized_keys стоит использовать authorized_keys2 кажется. Хотя, может, оно и не важно уже.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

всё таки проблема в dsa. сейчас всё отлично работает. Вопрос снимаю. Всем огромное спасибо

Mick555
() автор топика
Ответ на: комментарий от AS

Кстати, вместо authorized_keys стоит использовать
authorized_keys2 кажется. Хотя, может, оно и не важно уже.

Да, не важно. И authorized_keys2 читается, и authorized_keys.

AS ★★★★★
()
Ответ на: комментарий от AS

Угу, я вот по старинке их раскладывал отдельно, и только недавно случайно узнал что уже не важно.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.