Решено: проблемы с ssh

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
ivanr
Сообщения: 177
Статус: эblan
ОС: Debian 4.0

Решено: проблемы с ssh

Сообщение ivanr »

всем доброго здравия.
Пытаюсь запустить sshd на компьютере, но есть проблемы. хочу использовать аутентификацию по ключам.
Создаю файы ключей вот такой командой
ssh-keygen -f ssh_host_dsa_key -t dsa
если пишу кодовую фразу, то sshd вообще не запускается, если не пишу, то sshd запускается, но при попытке удаленно подключится запрашивает кодовую фразу!!!
Вот конфиг sshd_config

Код: Выделить всё

Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_rsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 3600
#ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
#LoginGraceTime 60
PermitRootLogin no
StrictModes yes

RSAAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile    /home/ivr/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

#X11Forwarding yes
#X11DisplayOffset 10
PrintMotd no
PrintLastLog no
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

#Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM no


может кто сталкивался с подобным глюком
Debian GNU/Linux 4.0
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: проблемы с ssh

Сообщение sash-kan »

ivanr писал(а):
17.11.2007 02:52
хочу использовать аутентификацию по ключам.
ivanr писал(а):
17.11.2007 02:52
ssh-keygen -f ssh_host_dsa_key -t dsa
то ли я чего-то не понимаю, то ли Вы не понимаете, что делаете.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
*Sasha*
Сообщения: 2519
Статус: Мимо шёл
ОС: Debian

Re: Решено: проблемы с ssh

Сообщение *Sasha* »

Если смысл в том что б ходить без пароля то
нужно создать ключи
ssh-keygen -t rsa
затем публичный ключ ~/.ssh/id_rsa.pub нужно закинуть в ~/.ssh/authorized_keys на другом компе куда будем ходить без пароля
там же нужно перестартануть демон sshd
Спасибо сказали:
Аватара пользователя
ivanr
Сообщения: 177
Статус: эblan
ОС: Debian 4.0

Re: Решено: проблемы с ssh

Сообщение ivanr »

*Sasha* писал(а):
17.11.2007 05:21
Если смысл в том что б ходить без пароля то
нужно создать ключи
ssh-keygen -t rsa
затем публичный ключ ~/.ssh/id_rsa.pub нужно закинуть в ~/.ssh/authorized_keys на другом компе куда будем ходить без пароля
там же нужно перестартануть демон sshd

именно так все и делаю
Debian GNU/Linux 4.0
Спасибо сказали:
Аватара пользователя
ivanr
Сообщения: 177
Статус: эblan
ОС: Debian 4.0

Re: Решено: проблемы с ssh

Сообщение ivanr »

в общем делаю так:
на сервере запускаю команду
"ssh-keygen -t rsa"
генерируются два файла в директории /home/ivr/.ssh "id_rsa и id_rsa.pub"
копирую файл "id_rsa" в каталог "/etc/ssh/" и прописываю соответствующую строку "HostKey /etc/ssh/id_rsa" в файле "sshd_config" на сервере
далее делаю команду
"mv /home/ivr/.ssh/id_rsa.pub /home/ivr/.ssh/authorized_keys" тоже на сервре
далее передаю файл "/home/ivr/.ssh/id_rsa" на клиент и кладу файл в папку "/home/user/.ssh"
далее даю команду на сервере
"/etc/init.d/ssh restart"
и на клиенте
"ssh 192.168.0.1 -i /home/user/.ssh/id_rsa"
и нифига не соединяется.
Подскажите пожалуйста, что я делаю неправильно?
могу показать вывод команды "ssh 192.168.0.1 -i /home/user/.ssh/id_rsa -vv"
Debian GNU/Linux 4.0
Спасибо сказали:
Аватара пользователя
csx
Сообщения: 302
Статус: Сыч Домовый
ОС: Что сломалось, то и чиним...

Re: Решено: проблемы с ssh

Сообщение csx »

Неправильно Вы делаете одну единственную вещь -- не смотрите в логи на сервере.
Кроме того, не совсем понял смысл "копирую файл "id_rsa" в каталог "/etc/ssh/" и прописываю соответствующую строку "HostKey /etc/ssh/id_rsa" в файле "sshd_config" на сервере".

А вообще попробуйте так
ssh ivr@192.168.0.1 -i /home/user/.ssh/id_rsa
-- Как называется болезнь когда всё время по телефону разговариваешь?
-- Техподдержка...
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: проблемы с ssh

Сообщение sash-kan »

ivanr писал(а):
17.11.2007 15:47
Подскажите пожалуйста, что я делаю неправильно?
кашу Вы делаете.
давайте для начала с терминологией определимся.
машина1 — Ваша рабочая машина, та, с которой Вы без пароля хотите аутентифицироваться на машине2

на машине1 надо сгенерировать пользовательские ключи.
машина1:~$ ssh-keygen -t rsa
после этого на машине1 выполняете команду
машина1:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub <ваша учетка на машине2>@<машина2>
у Вас запросят пароль к учетке на машине2.
если все прошло нормально, то на машине1 теперь можно вводить
машина1:~$ ssh <ваша учетка на машине2>@<машина2>
и пароль у Вас запрашиваться не будет.

p.s. чтобы не были помехой Ваши предыдущие эксперименты, перед описанной процедурой удалите каталоги ~/.ssh на обоих машинах. это, так сказать, по-простому, не вдаваясь в подробности. надеюсь, в своих экспериментах Вы не затрониули /etc/ssh/* ни на одной из машин (:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
ivanr
Сообщения: 177
Статус: эblan
ОС: Debian 4.0

Re: Решено: проблемы с ssh

Сообщение ivanr »

sash-kan писал(а):
18.11.2007 12:37
p.s. чтобы не были помехой Ваши предыдущие эксперименты, перед описанной процедурой удалите каталоги ~/.ssh на обоих машинах. это, так сказать, по-простому, не вдаваясь в подробности. надеюсь, в своих экспериментах Вы не затрониули /etc/ssh/* ни на одной из машин (:

еще как затронул :)
А по поводу терминологии, сервер-клиент мне показалось более наглядно, так как сервер принимает входящие от клиента подключения.
Debian GNU/Linux 4.0
Спасибо сказали:
Аватара пользователя
ivanr
Сообщения: 177
Статус: эblan
ОС: Debian 4.0

Re: Решено: проблемы с ssh

Сообщение ivanr »

sash-kan писал(а):
18.11.2007 12:37
ivanr писал(а):
17.11.2007 15:47
Подскажите пожалуйста, что я делаю неправильно?
кашу Вы делаете.
давайте для начала с терминологией определимся.
машина1 — Ваша рабочая машина, та, с которой Вы без пароля хотите аутентифицироваться на машине2

на машине1 надо сгенерировать пользовательские ключи.
машина1:~$ ssh-keygen -t rsa
после этого на машине1 выполняете команду
машина1:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub <ваша учетка на машине2>@<машина2>
у Вас запросят пароль к учетке на машине2.
если все прошло нормально, то на машине1 теперь можно вводить
машина1:~$ ssh <ваша учетка на машине2>@<машина2>
и пароль у Вас запрашиваться не будет.

p.s. чтобы не были помехой Ваши предыдущие эксперименты, перед описанной процедурой удалите каталоги ~/.ssh на обоих машинах. это, так сказать, по-простому, не вдаваясь в подробности. надеюсь, в своих экспериментах Вы не затрониули /etc/ssh/* ни на одной из машин (:

преустановил open-sshserver, дальше сделал все как вы писали - заработало.
осталось один вопрос, каково назначение файлов /etc/ssh/ssh_host_rsa/dsa_key и соответственно /etc/ssh/*.pub файлов.
Я не понял, как вообще происходит процесс авторизации, основанный на ключах. И какую роль в этом процессе играют выше оговоренные файлы
Debian GNU/Linux 4.0
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: проблемы с ssh

Сообщение sash-kan »

файлы /etc/ssh/ssh_host_* служат для идентификации хоста, на котором они находятся, ssh-клиентом. попробуйте их заново сгенерировать и подключиться к этому хосту. Ваш ssh-клиент сразу же поднимет тревогу (естественно, если Вы уже подключались к этому хосту). взаимное недоверие, так сказать (:
подробнее читайте в документации. там все написано.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
ivanr
Сообщения: 177
Статус: эblan
ОС: Debian 4.0

Re: Решено: проблемы с ssh

Сообщение ivanr »

sash-kan писал(а):
18.11.2007 18:28
файлы /etc/ssh/ssh_host_* служат для идентификации хоста, на котором они находятся, ssh-клиентом. попробуйте их заново сгенерировать и подключиться к этому хосту. Ваш ssh-клиент сразу же поднимет тревогу (естественно, если Вы уже подключались к этому хосту). взаимное недоверие, так сказать (:
подробнее читайте в документации. там все написано.

спасибо.
Debian GNU/Linux 4.0
Спасибо сказали:
Аватара пользователя
emptyxl
Сообщения: 11

Re: Решено: проблемы с ssh

Сообщение emptyxl »

Я позволю себе написать как было у меня на Федоре:
Вобщем задача состояла в том чтоб скрипт рассылал на удаленные хосты командой scp скрипты очистки БД. Что б каждый скрипт не ложить отдельно я решил разослать их автоматом через SSH по ключам RSA. Но выполнив все что написано в этом посте все равно запрашивалась уатентификация по паролю. Я нашел статью и сделал как там написано. А на писано там так:
1) создание ключа (RSA-пары)
[ ~]$ ssh-keygen -t rsa
сгенерировано 2 ключа(это уже было описано в посте выше, респект sash-kan) id_rsa и id_rsa.pub
id_rsa - приватный
id_rsa.pub - публичный(public, открытый)
2) Копирование открытого ключа на удаленный хост
[ ~]scp ~/.ssh/id_rsa.pub удаленный_аккаунт@удаленный-хост:/home/удаленный_аккаунт/.ssh/authorized_keys
предведущей командой будет скопировано открытый ключ на удаленный аккаунт в файл authorized_keys, для успешноо копирования необходимо будет ввести пароль удаленного аккаунта.
3) Проверка что все идет как нужно
[ ~]slogin удаленный_аккаунт@удаленный_хост - если запрашивает не пароль а passphrase значит все хороше.
4) SSH-agent
SSH-агент работает на Вашей локальной машине (на рабочем месте) - он ведает Вашими SSH-ключами.
Вообще, нормально настроенные desktop-ы, при входе в систему (начале сеанса) на рабочем месте проверяют наличие у пользователя SSH-ключей и при обнаружении таковых сами запускают ssh-agent и запрашивают passphrase. Чтобы проверить, все ли нормально, наберите в командной строке
[ ~]echo $SSH_AGENT_PID
и
[ ~]echo $SSH_AUTH_SOCK
Вывод должен быть непустым.
Если же само-по-себе ничего не заработало, придётся запускать SSH-агента вручную:
eval $(ssh-agent -s)
Это приведёт к появлению в среде (environment) двух новых переменных: SSH_AGENT_PID, SSH_AUTH_SOCK (или SSH_AUTH_SOCKET) - именно через них все приложения, позже запущенные из этого же shell-а, будут связываться с запущенным SSH-агентом. Теперь следует активировать Ваш ключ и передать его в ведение агента:
[ ~]ssh-add /home/основная учетная запись/.ssh/id_rsa
который запросит Ваш passphrase для активации ключа - введите passphrase(секретная фраза)
Для проверки:
[ ~]ssh-add -l
или
[ ~]ssh-add -L (для более подробной выдачи)
что должно показать Ваш ключ.
Попробуйте войти на всё тот же хост (из того же shell-а!):
[ ~]slogin удаленный_account@удаленній-хост
Теперь запрос SSH-ключа должен уже переадресоваться Вашему SSH-агенту, который сам должен произвести аутентификацию, т.е. теперь slogin должен сработать без необходимости набирать passphrase или login-пароль вручную. Так же должен работать scp.
X-Windows OFF
Спасибо сказали:
Аватара пользователя
emptyxl
Сообщения: 11

Re: Решено: проблемы с ssh

Сообщение emptyxl »

как к чему я вел, во всем выше сказаном не написано про SSH-agent, в этом новизна моего поста.
X-Windows OFF
Спасибо сказали: