LINUX.ORG.RU
решено ФорумAdmin

freebsd ssh имя машины

 ,


0

1

Система freebsd 12.2 При подключении к ней по ssh user@10.10.10.10 выдается запрос «Password for user@comp:» то есть высвечивается днс имя машины.
Сменил в hosts и rc.conf hostname, оставил пустой resolv.conf. Ребутнул подключаюсь «Password for user@comp2:». В sshd_config установил опцию usedns=no. Опять «Password for user@comp2:».
Как система автоматом определяет hostname?
Как вернуть запрос по ip без днс?

Еще одна интересная особенность, если в sshd_config установить опцию «PasswordAuthentication yes», то запрос выходит при ошибочном вводе не 3 а 6 попыток (3 по днс и 3 по ip)

Password for user@comp2: 
Password for user@comp2: 
Password for user@comp2:
user@10.10.10.10's password: 
Permission denied, please try again.
user@10.10.10.10's password: 
Permission denied, please try again.
user@10.10.10.10's password: 
Received disconnect from 10.10.10.10 port 22:2: Too many authentication failures
Authentication failed.
изменяем «PasswordAuthentication no»
остается
Password for user@comp2:
Password for user@comp2:
Password for user@comp2:
Permission denied (publickey,keyboard-interactive).

Вроде и не проблема, но почему так, у кого проявлялись такие симптомы?

Ничего не понятно из описания, показывай sshd_config хоста (удалённой машины) и ssh_config (~/.ssh/config) клиента (той, откуда подключаешься).

user@comp2

user@10.10.10.10

Как хост добавлял в known_hosts, так оно тебе и "представляется" (на самом деле нет, это твой ssh представляет его, а не sshd сам представляется).

mord0d ★★★★★ ()

Имя хоста тебе показывает клиент, по своим данным. В нём и меняй.

Хотя не уверен. Кажется у тебя первые три попытки выдаются от другого метода авторизации (который я у себя сразу везде отключаю), может в нём по-другому что-то. UsePAM no, CHallengeResponseAuth no, PasswordAuth yes.

А ещё - было user@comp, стало user@comp2? Ну найди где comp2 прописано вообще.

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

Кажется у тебя первые три попытки выдаются от другого метода авторизации

По умолчанию keyboard-interactive потом password, что в принципе для клиента вводящего пароль теже в профиль.

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

Прошу прощения за сумбур.
Сначала конфиги:
удаленная машина к которой подключаюсь:

OpenSSH_7.9p1, OpenSSL 1.1.1h-freebsd  24 Aug 2021

grep -v '\(^#\|^;\)' /etc/ssh/sshd_config  | sed -e '/^$/d'

AddressFamily inet
SyslogFacility local3
PermitRootLogin yes
AuthorizedKeysFile	.ssh/authorized_keys
PasswordAuthentication yes
UseDNS no
Subsystem	sftp	/usr/libexec/sftp-server

машина с которой подключаюсь:

OpenSSH_7.4p1 Debian-6, OpenSSL 1.0.2j  26 Sep 2016

grep -v '\(^#\|^;\)' /etc/ssh/ssh_config  | sed -e '/^$/d'

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
cat .ssh/config

Host 10.10.10.60
  Hostname 10.10.10.60
  IdentityFile ~/.ssh/id_rsa_60
  User root

Host 10.10.10.90
  Hostname comp90
  IdentityFile ~/.ssh/id_rsa_90
  User ut90

Host 10.10.10.160
  Hostname 10.10.10.160
  IdentityFile ~/.ssh/id_rsa_160
  User usertest

Host *
  IdentitiesOnly=yes

Удаленная машина имеет адрес 10.10.10.10 имя comp. При подключении к ней командой ssh user@10.10.10.10 она выдает запрос на пароль, не то что я в команде указал, а «Password for user@comp:». Я подумал что днс кэш где то ее зафиксировал и поэтому выдает сразу подставив comp. Для проверки этой версии я изменил имя машины с comp на comp2 в файлах /etc/hosts и /etc/rc.conf и на всякий случай указал принудительно в файле /etc/ssh/sshd_config опцию usedns=no, плюс очистил /etc/resolv.conf. После внесенных изменений перегрузил машину и дал команду ssh user@10.10.10.10 и опять вернулся запрос на пароль уже с подставленным днс именем (только новым) «Password for user@comp2:»
Уладил из known_hosts и снова подключился, вывод:

ssh user@10.10.10.10
The authenticity of host '10.10.10.10 (10.10.10.10)' can't be established.
ECDSA key fingerprint is SHA256:Lz0oIaNtBmC+AffSa6TnyzY79ZdnF84OiY7+Ae/SIco.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.10.10.10' (ECDSA) to the list of known hosts.
Password for user@comp2:

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

да, спасибо!
добавил
ChallengeResponseAuthentication no
все проблема ушла
Всем спасибо!

p.s. нюанс с увеличением попыток с 3-х до шести все-же интересный )))

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

У тебя в конфиге на клиенте указаны IP, именно их показывает ssh при подключении и аутентификации. На этом этапе хост, куда ты подключаешься, ничего о себе не говорит.

По умолчанию в FreeBSD в sshd включен UsePAM и ChallengeResponseAuthentication.

Времени нет, вернусь — попробую дополнить.

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

нюанс с увеличением попыток с 3-х до шести все-же интересный

Вначале ssh пытается аутентифицироваться, а потом уже удалённо PAM требует аутентификацию.

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

По умолчанию keyboard-interactive потом password, что в принципе для клиента вводящего пароль теже в профиль.

Они по-разному работают. Keyboard/interactive начинает диалог с сервером. Строку «Password for user@comp2:» показывает сам сервер. Именно поэтому в ней и было имя хоста.

При методе Password пароль запрашивает сам ssh-клиент, поэтому приглашение выглядит по-другому: «user@10.10.10.10’s password:»

Отсюда и увеличение количества попыток - сначала пробуется метод keyboard/interactive, потом password.

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

Не читай сразу отвечай? Одобряю.

anc ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.