Здравствуйте. 2 сервера (сервер№1 и сервер№2) на которых должна выполняться авторизация без пароля. На сервер№1 сгенерирован ключ id_dsa.pub). На сервер№2 в authorized_keys добавлена строка с ключем. Но при авторизации продолжает запрашиваться пароль. На сервер№1 ключ сгенерирован от root(/root/.ssh/id_dsa.pub). На сервер№2 создана учетка user(домашний каталог /home/ho/user). Помогите определить в чем проблема.
На сервер№2 файл authorized_keys лежит в /home/ho/user/.ssh.
> Здравствуйте. 2 сервера (сервер№1 и сервер№2) на которых должна выполняться
> авторизация без пароля. На сервер№1 сгенерирован ключ id_dsa.pub). На сервер№2
> в authorized_keys добавлена строка с ключем. Но при авторизации продолжает запрашиваться
> пароль. На сервер№1 ключ сгенерирован от root(/root/.ssh/id_dsa.pub). На сервер№2
> создана учетка user(домашний каталог /home/ho/user). Помогите определить в чем проблема.
> На сервер№2 файл authorized_keys лежит в /home/ho/user/.ssh.На файл authorized_keys какие права установлены? 600?
> На файл authorized_keys какие права установлены? 600?Временно поставил 777.
>> На файл authorized_keys какие права установлены? 600?
> Временно поставил 777.это пздц, товарищи.
>> На файл authorized_keys какие права установлены? 600?
> Временно поставил 777.верните 0600
> верните 0600Вернул.
> id_dsa.pub
> authorized_keysДля dsa необходимо использовать файл authorized_keys2.
authorized_keys - это для rsa-ключей.
> Для dsa необходимо использовать файл authorized_keys2.
> authorized_keys - это для rsa-ключей.Прошу прощения файл называется id_rsa.pub
По поводу конфига проконсультируйте пожалуйста. Какие параметры должны быть установлены на сервер№2?
С сервера номер 1 выполни
ssh -v сервер_номер_2+ логи на сервере номер 2
OpenSSH_5.2p1 FreeBSD-20090522, OpenSSL 0.9.8k 25 Mar 2009
Лог messages ?
> OpenSSH_5.2p1 FreeBSD-20090522, OpenSSL 0.9.8k 25 Mar 2009
> Лог messages ?какой именно файл, сказать могу если покажете syslog.conf
маловато, вот:vadim@smailik:~> ssh -v aa@127.0.0.1
OpenSSH_5.4p1, OpenSSL 1.0.0 29 Mar 2010
debug1: Reading configuration data /home/vadim/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "/tmp/aa@127.0.0.1:22" does not exist
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/vadim/.ssh/id_rsa type -1
debug1: identity file /home/vadim/.ssh/id_rsa-cert type -1
debug1: identity file /home/vadim/.ssh/id_dsa type -1
debug1: identity file /home/vadim/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.4
debug1: match: OpenSSH_5.4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.4
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 '127.0.0.1' is known and matches the RSA host key.
debug1: Found key in /home/vadim/.ssh/known_hosts:108
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,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/vadim/.ssh/id_rsa
debug1: Trying private key: /home/vadim/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
Password:
# $FreeBSD: src/etc/syslog.conf,v 1.30.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manpage.
*.err;kern.warning;auth.notice;mail.crit /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
ftp.info /var/log/xferlog
cron.* /var/log/cron
*.=debug /var/log/debug.log
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.* /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!ppp
*.* /var/log/ppp.log
!*
а
ssh -v
где?
Вот.$ ssh -v
OpenSSH_5.2p1 FreeBSD-20090522, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /usr/home/hosting/user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 217.115.xx.xx [217.115.xx.xx] port 22.
debug1: Connection established.
debug1: identity file /usr/home/hosting/user/.ssh/identity type -1
debug1: identity file /usr/home/hosting/user/.ssh/id_rsa type 1
debug1: identity file /usr/home/hosting/user/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.2p1 FreeBSD-20090522
debug1: match: OpenSSH_5.2p1 FreeBSD-20090522 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522
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
Host key verification failed.
в .ssh/known_hosts
удалить соответсвующую хосту запись, для начала - Host key verification failed.нет записей типа:
debug1: Trying private key: /home/vadim/.ssh/id_rsa
debug1: Trying private key: /home/vadim/.ssh/id_dsaгде ваши ключи-то?
> в .ssh/known_hosts
> удалить соответсвующую хосту запись, для начала - Host key verification failed.
> нет записей типа:
> debug1: Trying private key: /home/vadim/.ssh/id_rsa
> debug1: Trying private key: /home/vadim/.ssh/id_dsa
> где ваши ключи-то?У меня подозрения по поводу конфига на сервер№2.
# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
# $FreeBSD: src/crypto/openssh/sshd_config,v 1.49.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.# Note that some of FreeBSD's defaults differ from OpenBSD's, and
# FreeBSD has a few additional options.#VersionAddendum FreeBSD-20090522
Port 22
#Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO# Authentication:
#LoginGraceTime 2m
PermitRootLogin no
StrictModes yes
MaxAuthTries 3
MaxSessions 10#RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yesAllowUsers root user
# Change to yes to enable built-in password authentication.
PasswordAuthentication yes
PermitEmptyPasswords no# Change to no to disable PAM authentication
#ChallengeResponseAuthentication yes# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes# Set this to 'no' to disable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM yes#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
#PermitTunnel no
#ChrootDirectory none# no default banner path
#Banner none# override default of no subsystems
Subsystem sftp /usr/libexec/sftp-server# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
Нужно #RSAAuthentication yes включить?
> в .ssh/known_hosts
> удалить соответсвующую хосту запись, для начала - Host key verification failed.Удалил. И снова запустил ssh -v
$ ssh -v user@217.115.xx.xx
OpenSSH_5.2p1 FreeBSD-20090522, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /usr/home/hosting/user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 217.115.xx.xx [217.115.xx.xx] port 22.
debug1: Connection established.
debug1: identity file /usr/home/hosting/user/.ssh/identity type -1
debug1: identity file /usr/home/hosting/user/.ssh/id_rsa type 1
debug1: identity file /usr/home/hosting/user/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.2p1 FreeBSD-20090522
debug1: match: OpenSSH_5.2p1 FreeBSD-20090522 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522
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
The authenticity of host '217.115.xx.xx (217.115.xx.xx)' can't be established.
RSA key fingerprint is 61:93:b1:03:fb:ac:a6:c9:1a:38:40:7e:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '217.115.xx.xx' (RSA) to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /usr/home/hosting/user/.ssh/identity
debug1: Offering public key: /usr/home/hosting/user/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /usr/home/hosting/user/.ssh/id_dsa
debug1: Next authentication method: keyboard-interactive
Password:
debug1: Authentication succeeded (keyboard-interactive).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
>[оверквотинг удален]
> debug1: Local version string SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522
> 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
> Host key verification failed.Может ключ криво скопировали?
Удалить и еще раз пошагам для теста:Запускаем на локальной машине ssh-keygen -t rsa или ssh-keygen -t rsa -b 4096Ессно заменить IP и user на свои валидные ))
На все задаваемые вопросы принимаем значения по умолчанию
Поле passphrase оставляем пустым
Копируем содержимое файла id_rsa.pub с локальной машины на удаленную машину
# cat ~/.ssh/id_rsa.pub | ssh user@192.168.22.2 "cat >> ~/.ssh/authorized_keys"
сейчас для пробы проверил - авторизует
> # cat ~/.ssh/id_rsa.pub | ssh user@192.168.22.2 "cat >> ~/.ssh/authorized_keys"Михалыч, use the power of scp
scp ~/.ssh/id_rsa.pub user@192.168.22.2:/~/.ssh/authorized_keys
>> # cat ~/.ssh/id_rsa.pub | ssh user@192.168.22.2 "cat >> ~/.ssh/authorized_keys"
> Михалыч, use the power of scp
> scp ~/.ssh/id_rsa.pub user@192.168.22.2:/~/.ssh/authorized_keysа если переписывать .ssh/authorized_keys файл не нужно?
>>> # cat ~/.ssh/id_rsa.pub | ssh user@192.168.22.2 "cat >> ~/.ssh/authorized_keys"
>> Михалыч, use the power of scp
>> scp ~/.ssh/id_rsa.pub user@192.168.22.2:/~/.ssh/authorized_keys
> а если переписывать .ssh/authorized_keys файл не нужно?ну ладно..
> Может ключ криво скопировали?Повторно сгенерировал и скопировал ключ. Пока тоже самое.
>> Может ключ криво скопировали?
> Повторно сгенерировал и скопировал ключ. Пока тоже самое.на сервере 2, в /etc/ssh/sshd_config впишите
PubkeyAuthentication yes
рестартуйте sshd
на сервере 1 выполните
ssh -v -i ~/.ssh/РСА_или_ДСА_что_сгенерировали (т.е. ~/.ssh/id_rsa или ~/.ssh/id_dsa) сервер 2и оутпут в студию :)
>>> Может ключ криво скопировали?
>> Повторно сгенерировал и скопировал ключ. Пока тоже самое.
> на сервере 2, в /etc/ssh/sshd_config впишите
> PubkeyAuthentication yes
> рестартуйте sshd
> на сервере 1 выполните
> ssh -v -i ~/.ssh/РСА_или_ДСА_что_сгенерировали (т.е. ~/.ssh/id_rsa или ~/.ssh/id_dsa)
> сервер 2
> и оутпут в студию :)На сервере2 параметр PubkeyAuthentication yes в /etc/ssh/sshd_config раскомментирован.
#RSAAuthentication yes закомментирован(полный конфиг выше).
root@comp:~# ssh -v -i /root/.ssh/id_rsa.pub user@217.115.xx.xx
OpenSSH_5.5p1 Debian-6, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 217.115.xx.xx [217.115.xx.xx] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa.pub type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /root/.ssh/id_rsa.pub-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.2p1 FreeBSD-20090522
debug1: match: OpenSSH_5.2p1 FreeBSD-20090522 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6
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 '217.115.xx.xx' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:14
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,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa.pub
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: keyboard-interactive
Password:
может на время убрать
StrictModes yes
а то мало ли где лишний пермишн стоит.
> может на время убрать
> StrictModes yes
> а то мало ли где лишний пермишн стоит.Временно к сожалению не могу. Этот файл на хостинге и прав на редактирование нет. Может еще варианты?
>> может на время убрать
>> StrictModes yes
>> а то мало ли где лишний пермишн стоит.
> Временно к сожалению не могу. Этот файл на хостинге и прав на
> редактирование нет. Может еще варианты?ну, раз хостинг, свяжитесь с самим хостером, может известная тема
/var/log/messages на сервер№2
Jul 1 14:10:41 174 sshd[54997]: error: PAM: authentication error for user from 83.xx.xx.xx
Jul 1 14:10:43 174 sshd[54997]: error: PAM: authentication error for user from 83.xx.xx.xx
Jul 1 14:16:16 174 sshd[55042]: login_getclass: unknown class 'hosting'
Jul 1 14:16:16 174 last message repeated 2 times
Jul 1 14:38:02 174 sshd[55231]: error: PAM: authentication error for user from 83.xx.xx.xx
Jul 1 14:38:02 174 sshd[55231]: error: PAM: authentication error for user from 83.xx.xx.xx
Jul 1 15:08:02 174 sshd[55396]: error: PAM: authentication error for user from 83.xx.xx.xx
Jul 1 15:08:02 174 sshd[55396]: error: PAM: authentication error for user from 83.xx.xx.xx
> Здравствуйте. 2 сервера (сервер№1 и сервер№2) на которых должна выполняться
> авторизация без пароля. На сервер№1 сгенерирован ключ id_dsa.pub). На сервер№2
> в authorized_keys добавлена строка с ключем. Но при авторизации продолжает запрашиваться
> пароль. На сервер№1 ключ сгенерирован от root(/root/.ssh/id_dsa.pub). На сервер№2
> создана учетка user(домашний каталог /home/ho/user). Помогите определить в чем проблема.
> На сервер№2 файл authorized_keys лежит в /home/ho/user/.ssh.http://www.google.ru/search?hl=en&source=hp&q=openssh+public...
> http://www.google.ru/search?hl=en&source=hp&q=openssh+public...Спасибо. Может быть немного подробнее?
>> http://www.google.ru/search?hl=en&source=hp&q=openssh+public...
> Спасибо. Может быть немного подробнее?http://unix1.jinr.ru/~lavr/ - первые три или четыре FAQ'а/руководства (они и здесь на opennet есть)