LINUX.ORG.RU

Rsync через ssh с ключом не работает

 


0

2

1. Я создал публичный ключ на сервере бэкапов:

2. Скопировал его через ssh-copy-id на сервер, откуда буду качать, он там появился Создавал так:

mkdir ~/.ssh

chmod 0700 ~/.ssh

touch ~/.ssh/authorized_keys

chmod 0644 ~/.ssh/authorized_keys

Т.е. директория точно домашняя, права правильные.

3. Перезапустил ssh

И все равно при запуске с сервера бэкапов просится пароль Что я упустил? Что можно еще проверить?



Последнее исправление: dwell (всего исправлений: 1)

Обычным ssh соединяется? Проверь логи ssh клиента и сервера.

anonymous
()

ну если права на .ssh точно правильные, то тебе следует вспомнить, что ed25519 еще не везде поддерживается, а rsa уже не везде поддерживается и bспользвать ключ, который поддерживается обеими сторонами.

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

Это на приватный, а на публичный УМВР

[mandala@vm236086 ~]$ ls -l ./.ssh/
итого 4
-rw-r--r-- 1 mandala mandala 398 фев 27 11:19 authorized_keys
mandala ★★★★★
()

dwell и переименуй публичный в authorized_keys, в качестве бреда. У меня помню когда то затык был где то, и это решило, потом воспроизвести не смог. Мои кривые руки, но я даже не понял где косячил.

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

што?

drwx------  2 user user  4096 Mar  5 19:39 ./
drwxr-xr-x 46 user user  4096 Mar  5 19:17 ../
-rw-------  1 user user   102 Mar  5 19:39 authorized_keys
-rw-------  1 user user 23189 Feb  9 15:37 config
-rw-------  1 user user 25700 Jun 29  2017 config_2017-06-29
-rw-rw-r--  1 user user 25498 May  4  2017 config_pg2
-rw-------  1 user user   227 May  2  2017 id_ecdsa
-rw-r--r--  1 user user   175 May  2  2017 id_ecdsa.pub
-rw-------  1 user user   399 Jan 27  2017 id_ed25519
-rw-r--r--  1 user user    95 Jan 27  2017 id_ed25519.pub
-rw-------  1 user user 12424 Mar  1 03:26 known_hosts
-rw-r--r--  1 user user  3992 May  4  2017 known_hosts.old

targitaj ★★★★★
()

На сервере бэкапов точно приватный ключ есть?<br> Что пишет в логах, при попытке подключения с сервера бэкапов?

demsi
()
Ответ на: комментарий от targitaj

А по моему у тебя глаза слиплись, сам не видишь что показываешь. Как демон ssh прочитает публичный ключ если ты ему -rw------- выставишь?

Однако мы не видели ни вывода ssh-клианта от ТС-а, ни логов с сервера, и хз что у него там с правами на приватный, тут согласен.

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

Анонимус неодобряет

Забодал, в authorized_keys хранятся публичные ключи, 644 для него правильно.

anonymous
()
Ответ на: комментарий от demsi

Вот меня тоже смущают команды из ОП-а, но я списал на бред по памяти.

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

Накатай 5.2, потому что ты упрямый осёл, и почитай маны. Тебе русским языком говорят - работоспособность authorized_keys в 644 проверена на практике.

anonymous
()
Ответ на: комментарий от targitaj

Ты сам выложил выхлоп:

drwx------  2 user user  4096 Mar  5 19:39 ./
drwxr-xr-x 46 user user  4096 Mar  5 19:17 ../
-rw-------  1 user user   102 Mar  5 19:39 authorized_keys
-rw-------  1 user user 23189 Feb  9 15:37 config
-rw-------  1 user user 25700 Jun 29  2017 config_2017-06-29
-rw-rw-r--  1 user user 25498 May  4  2017 config_pg2
-rw-------  1 user user   227 May  2  2017 id_ecdsa
-rw-r--r--  1 user user   175 May  2  2017 id_ecdsa.pub
-rw-------  1 user user   399 Jan 27  2017 id_ed25519
-rw-r--r--  1 user user    95 Jan 27  2017 id_ed25519.pub
-rw-------  1 user user 12424 Mar  1 03:26 known_hosts
-rw-r--r--  1 user user  3992 May  4  2017 known_hosts.old

А теперь смотрим что ТС говорит:

chmod 0644 ~/.ssh/authorized_keys

Т.е. ровно тоже самое что ты показываешь «как правильно». Отдуплись уже. Я тебе с боевого сервера дал выхлоп с этим же

[mandala@vm236086 ~]$ ls -l ./.ssh/
итого 4
-rw-r--r-- 1 mandala mandala 398 фев 27 11:19 authorized_keys

Видишь имя хоста? Думаешь это я так по пьяному угару локалхосты называю? Или ради тебя тут выдумываю?

Другое дело, что ТС там по ходу полную ерунду сделал, а не пару ключей.

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

Как демон ssh прочитает публичный ключ если ты ему -rw------- выставишь?

Во-первых, он обычно работает от рута, которому на права пофиг. Во-вторых, форкнется и сменит юзера на нужного.

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

Ну мы не знаем что там у ТС, он вон вообще замолчал. В ОПе ерунда какая-то. Однако -rw-r--r-- на публичный — это вот нормально, а -rw------- — это на приватный который у ТС-а должен лежать на том сервере, куда он бекап rsync-ом и тянет.

А targitaj ошибся где и что, я его поправил, а он тут дебош устроил.

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

Я вижу 0700 на директорию и 0644 на файл. Я вот даже проверил:

drwx------ 2 mandala mandala      4096 фев 27 11:43 .ssh

Что не так то?

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

Ты извини, но кажется ты ободрался. На удаленном хосте:

0700 на ~/.ssh и 0644 на ~/.ssh/authorized_keys

Я не прав, у ТС в ОПе в принципе все нормально, так что все таки ждем ssh -vv и логов сервера

Про права на клиенте нам вообще ни чего не сказали еще.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)

Так, пацаны в чате посмотрели у себя, для authorized_keys допустимо и 600 и 644, это не должно быть причиной проблемы. Попробуй ключ ecdsa, он сейчас вроде как всем-всем поддерживается.

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

Смотри что делал ТС, перевожу с его языка на понятный:

На удаленном сервере:

$ mkdir ~/.ssh
$ chmod 0700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 0644 ~/.ssh/authorized_keys

Теперь на клиенте, который запускает rsync через ssh на удаленный сервер и забирает бекап:

$ ssh-copy-id -i ~/.ssh/id_key.pub user@host

Теперь от пускает на клиенте типа

$ rsync -avz -e ssh /home/user user@host

И получает тыкву. Что у него с правами на ключ на клиенте он нам не сказал!

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

Ну вот, слава яйцам, разобрались. Ждем ТС-а.

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

Я не замолчал, просто на почту оповещения об ответах не приходили :) На клиенте на id_rsa.pub 644 права.

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

root@qry:~# ssh -vv OpenSSH_6.0p1 Debian-4+deb7u6, OpenSSL 1.0.1t 3 May 2016 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command]

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

На клиенте какие права на id_rsa приватный? Покажи вывод на сервере бекапов:

$ ls -l ~/.ssh

Используй тег [code] выхлоп [/code] — чтобы каша не получалась вместо форматирования.

Эту команду тоже не сервере бекапов (который запускает rsync)

$ ssh -vv user@host

Где user — твой пользователь на удаленном сервере с которого нужно сделать бекап, host — адрес сервера с которого нужно снять бекап.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala
root@qry:~# ls -l ~/.ssh
total 16
-rw-r--r-- 1 root root  398 Mar  4 10:08 authorized_keys
-rw------- 1 root root 3243 Mar  3 22:29 id_rsa
-rw-r--r-- 1 root root  751 Mar  3 22:29 id_rsa.pub
-rw-r--r-- 1 root root    0 Mar  3 22:41 id_rsa.pub.save
-rw-r--r-- 1 root root  888 Mar  5 17:07 known_hosts
ssh -vv user@host
OpenSSH_6.0p1 Debian-4+deb7u6, OpenSSL 1.0.1t  3 May 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 210.8.215.160 [210.8.215.160] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-4096
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-4096
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4+deb7u6
debug1: match: OpenSSH_6.0p1 Debian-4+deb7u6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u6
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA d8:31:e6:ad:cf:f6:34:a6:1c:3b:c5:3f:3f:52:59:2f
debug1: Host '210.8.215.160' is known and matches the ECDSA host key.
debug1: Found key in /root/.ssh/known_hosts:4
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /root/.ssh/id_rsa (0x7fc29f5c6a70)
debug2: key: /root/.ssh/id_dsa ((nil))
debug2: key: /root/.ssh/id_ecdsa ((nil))
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
dwell
() автор топика
Ответ на: комментарий от dwell

На удаленном сервере авторизация по ключу включена? проверь строки на сервере в файле /etc/ssh/sshd_config

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

На сервере сделай

tail -f /var/log/auth.log
И смотри, что пишет, когда ты логинишься.

anonymous
()
Ответ на: комментарий от dwell

Я тебе еще раз, русским языком, говорю. НЕ ИСПОЛЬЗУЙ RSA. Оно DEPRECATED. Чего тебе непонятного? Всё, сдох rsa, забудь о нём. Используй ecdsa и ed25519.

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

Однако ssh-keygen из коробки генерирует именно RSA, видать разрабы OpenSSH дебилы полные. Да и RSA это не один алгоритм, и от длинны ключа многое зависит

Я не большой специалист по криптографии, так что доверюсь искаропки разрабам OpenSSH и не буду парить себе мозг.

Хотя я не прав, рекомендуют ecdsa/ed25519.

А rsa суют в дефолт в первую очередь для обратной совместимости с длиннищуей длинной ключа для пущей безопасности.

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

Длинный ключ и медленно. А короткий и правда потенциально не безопасен.

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

OpenSSH ставит самый низкий приоритет rsa. Основная проблема: совместимость и упоротость некоторых разрабов сторонних клиентов.

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

Основная проблема ECDSA в том, что от него нет пользы, кроме вреда. Совместимость в жопе, потенциальные бэкдоры, тормоза.

Единственный профит - ключи меньше. Но у тебя тут не смарткарта, на терабайтный диск пару тысяч бит как-нибудь влезут.

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

Мне пофигу, я юзаю дефолтные rsa (2048 сейчас вроде), я просто почитал чейнджлоги по части ECDSA/ED25519 и сам себя поправил. RSA не деплекатед конечно, но факт что он «ценится» авторами опенссш дешевле других — это факт.

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

Может для других сфер использования криптографии (не ssh) и критична производительность, вот rsa и хоронят ускоренно... Мне пофиг, я тех сфер не касаюсь.

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

но факт что он «ценится» авторами опенссш дешевле других — это факт.

Ничего не знаю об их заморочках.

критична производительность, вот rsa и хоронят ускоренно

Ещё раз, rsa в общем случае быстрее. Но для ssh на современных интелях это действительно не важно.

anonymous
()
Ответ на: комментарий от targitaj

конкретно, в ubuntu 16.04 по-умолчанию нет поддержки rsa. Достаточно конкретно?

Хоспаде, как с тобой трудно. В каком куске убунту нет поддержки rsa? Что, прямо из ssh, openssl, ядра везде выпилили? Где линк?

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

По-умолчанию в openssh выключено. Так-то до полного исключения далеко. Здесь и сейчас речь не про теоретическую поддержку, а про решение проблемы. Метод исключения предлагает исключить все возможные причины, включая отключенный rsa. Использовать ed25519 я не предлагаю, потому что в том же wheezy его ЕЩЕ нет. Поэтому ecdsa. Потому что поддержка есть практически железобетонно.

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

Не касаясь того, что вместо метода исключения можно тупо заглянуть в логи.

Я только что скачал изошник 16.04, установил его в виртуалку, скопировал в неё мой публичный rsa ключ и залогинился по этому ключу. Там обыскал все конфиги от ssh клиента и сервера и не нашёл ни одного места, где что-то хоть отдалённо напоминающие rsa было бы отключено. Даже ssh-keygen по умолчанию тупо генерирует rsa. Забодал. Пока.

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

Хм, посмотрел - действительно. Какая-то странная путаница. Но я точно помню, что были проблемы с rsa. Может быть, из-за длины по-умолчанию?

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