OpenSSH och bsd auth

Avdelningen för programmering, nätverk samt alternativa OS.
Post Reply
User avatar
Ancalagon
Posts: 550
Joined: 2002-03-08 14:16:41
Location: Stockholm

OpenSSH och bsd auth

Post by Ancalagon »

Tja!

Vet någon (IcePic ? ;) ) hur man går till väga för att lyckas använda login_chpass som authensiering vid inloggning via sshd?
OS är så klart OpenBSD (3.6)!

Som jag fattat det så behövs det en ändring i default /etc/login.conf:
# Default authentication methods
auth-defaults:auth=passwd,skey,chpass:[/quote]

då får man ju i alla fall köra lokalt:
$ login anca:chpass
Changing local password for anca.
Old Password:
New password:
Retype new password:
Enl. sshd_config(5) verkar det som om det skulle gå att använda denna typ av authensiering även via sshd:
ChallengeResponseAuthentication
Specifies whether challenge response authentication is allowed.
All authentication styles from login.conf(5) are supported. The
default is ``yes''.
Om man nu testar att logga in med login_chpass så sker detta:
$ ssh anca:chpass@127.0.0.1
anca:chpass@127.0.0.1's password:
Permission denied, please try again.
anca:chpass@127.0.0.1's password:
Permission denied, please try again.
anca:chpass@127.0.0.1's password:
Permission denied (publickey,password,keyboard-interactive).
$
Så kanske måste man ändra lite i sshd_config(5) i alla fall?
UseLogin
Specifies whether login(1) is used for interactive login ses-
sions. The default is ``no''. Note that login(1) is never used
for remote command execution. Note also, that if this is en-
abled, X11Forwarding will be disabled because login(1) does not
know how to handle xauth(1) cookies. If UsePrivilegeSeparation
is specified, it will be disabled after authentication.
Så jag sätter UseLogin till yes:

UseLogin yes #no
och försöker igen (med en omstartad sshd):
$ ssh anca:chpass@127.0.0.1
anca:chpass@127.0.0.1's password:
Permission denied, please try again.
anca:chpass@127.0.0.1's password:
Permission denied, please try again.
anca:chpass@127.0.0.1's password:
Permission denied (publickey,password,keyboard-interactive).
$
men det går fortfarande inte .. :S

I /var/log/authlog hittar man nu:
May 22 14:15:53 ancas login: challenge: invalid service
May 22 14:15:55 ancas login: response: invalid service
May 22 14:15:59 ancas last message repeated 2 times
May 22 14:19:39 ancas login: challenge: invalid service
May 22 14:19:45 ancas login: response: invalid service
May 22 14:19:48 ancas last message repeated 2 times
och slutligen min sshd_config:
# grep '^[^#]' /etc/ssh/sshd_config
Port 22
Protocol 2
ChallengeResponseAuthentication yes
UseLogin yes #no
Banner /etc/ssh/banner
Subsystem sftp /usr/libexec/sftp-server
Hoppas på ett givande svar :D ! - har googlat och testat bsdforums.org men de har inte svarat ..

/Anca
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Det kan vara så att sshd korrekt säger att de stöder bsd-auth, men inte alla
delar av det.
När du anger user:bsdauthstyle (i ditt fall chpass) så ska magiska saker hända,
vilket stämmer bra för t.ex skey som du även har enable:at. Hursomhelst så
kommer du säkert få skey att lira som du vill över ssh, men det kanske inte
funkar för chpass.

Varför man sen ska ha chpass-över-ssh återstår ju att fundera på, men hursomhelst,
kör din ssh och din sshd med mycket mer debuggning om du ska lösa det,
de brukar kunna ange på rätt god nivå vad som händer. Kolla även om bsdauth
har möjlighet att logga hårdare.

Jag skulle inte bli förvånad om bsdauth inte tillåter chpass från icke-konsoler
eller liknande.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Ancalagon
Posts: 550
Joined: 2002-03-08 14:16:41
Location: Stockholm

Post by Ancalagon »

Code: Select all

Varför man sen ska ha chpass-över-ssh återstår ju att fundera på
När man kör scponly som shell och vill att användarna ska kunna byta pass ;D
Finns iofs program som poppassd men möjlighet att byta lösenord i cleartext över nätverk är inte direkt vad jag letar efter .. :P

Mycket riktigt så funkar S/Key utmärkt ..
Jag har frågat på www.bsdforums.org men inte fått något svar ännu, google har inte varit speciellt hjälpfull heller :(

Authentication methods in OpenBSD nämner (l)chpass, men inga begränsningar..

hehe, verkar som jag är en av mycket få som vill använda (lchpass/)chpass med sshd ..
Kanske man skulle skicka en PR ? det verkar ju i alla fall som om antigen sshd_config(5) eller mjukvaran är lite konstig ..

om jag kör sshd med -ddde och ssh med -vvv så får jag följande:


sshd stderr:
http://jiyu.gnook.org/~anca/sshd_log
och diff mot hur det ser ut när man lyckas logga in med skey:
http://jiyu.gnook.org/~anca/sshd_skeydiff

ssh stderr:
http://jiyu.gnook.org/~anca/ssh_log
och diff mot hur det ser ut när man lyckas logga in med skey:
http://jiyu.gnook.org/~anca/ssh_skeydiff

Det som jag finner intressant i sshd diffen är:
debug2: bsdauth_query: new bsd auth session
-debug3: bsdauth_query: style chpass
+debug3: bsdauth_query: style skey
debug3: mm_request_receive_expect entering: type 13
debug3: mm_request_receive entering
-debug2: bsdauth_query: <empty>
-debug3: mm_answer_bsdauthquery: sending challenge success: 0
+debug2: bsdauth_query: <otp-md5 96 anca53045
+S/Key Password: >
+debug3: mm_answer_bsdauthquery: sending challenge success: 1
debug3: mm_request_send entering: type 13
-debug3: mm_bsdauth_query: no challenge
-Failed keyboard-interactive for anca from 127.0.0.1 port 28129 ssh2
+debug3: mm_bsdauth_query: received challenge: otp-md5 96 anca53045
+S/Key Password:
Post Reply