質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

Debian

Debianは、Debian GNU/Linux などのOS(オペレーティングシステム)です。

Q&A

解決済

2回答

15173閲覧

ldapでSSHログインができない

Machirda427

総合スコア19

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

Debian

Debianは、Debian GNU/Linux などのOS(オペレーティングシステム)です。

0グッド

1クリップ

投稿2015/08/28 15:47

編集2015/08/29 04:13

LDAPで管理しているユーザーアカウントでSSHログインができずに困っています。
クライアント側ではLDAPからユーザーアカウント情報を参照でき、パスワード認証でログインもできます。
ただSSHではリモート、ローカル共にログインできません。
ssh [USER_NAME]@172.31.24.39
をしますと、
パスワードを聞かれるのですが
ローカルでログインできるパスワードを入力しても Permission denied please try again
といわれれしまいます。
sshd側でうまくLDAPを見にいってくれていないのだと思うのですが・・・はまってしまって困っています。
sshでログインできる状態にするにはどのような設定を行えばいいかわかる方いらっしゃいましたら教えて頂けると助かります。
LDAPサーバのOSはLinux(debian8)はクライアントのOSはLinux(debian7)です。

クライアント側のログを参照すると下記のとおりです。

lang

1sshd[25802]: Failed password for [USER_NAME] from 172.31.24.39 port 60385 ssh2

宜しくお願いします。

ーーー追記ーーーー
ldapのバージョン:2.4.40

◆SSH公開鍵の登録方法
※ldifファイルに記述

/etc/ldap/ldif/user.ldif

lang

1dn: uid=username,ou=User,dc=example,dc=co,dc=jp 2objectClass: shadowAccount 3objectClass: posixAccount 4objectClass: account 5objectClass: top 6objectCkass: ldapPublicKey 7cn: username 8uid: username 9uidNumber: 2001 10gidNumber: 2000 11homeDirectory: /home/username 12loginShell: /bin/bash 13shadowMin: 0 14shadowMax: 99999 15shadowWarning: 7 16shadowLastChange: 16175 17userPassword: {SSHA}************************************* 18sshPublicKey: ssh-rsa AAAA**********************************

※openssh-lpkスキーマの追加

/etc/ldap/ldif/openssh-lpk.ldif

lang

1dn: cn=openssh-lpk,cn=schema,cn=config 2objectClass: olcSchemaConfig 3cn: openssh-lpk 4olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey' 5 DESC 'MANDATORY: OpenSSH Public key' 6 EQUALITY octetStringMatch 7 SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 ) 8olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY 9 DESC 'MANDATORY: OpenSSH LPK objectclass' 10 MAY ( sshPublicKey $ uid ) 11 )

ldappサーバーから公開鍵を取得する設定(クライアント側)
・AuthorizedKeysCommandを使用

/etc/ssh/sshd_config

lang

1AuthorizedKeysCommand /usr/lib/ssh-command/find_key.sh 2AuthorizedKeysCommandUser root

/usr/lib/ssh-command/find_key.sh

lang

1#!/bin/bash 2 3uri=ldap://10.0.XXX.XXX/ 4binddn="cn=admin,dc=example,dc=co,dc=jp" 5bindpw=****** 6base="dc=example,dc=co,dc=jp" 7uid=$1 8 9ldapsearch -LLL -H ${uri} -w "${bindpw}" -D "${binddn}" -b "${base}" "(& (objectClass=posixAccount) (uid=${uid}))" "sshPublicKey" | ruby -e 'puts STDIN.read.gsub(/\n /,"").match(/sshPublicKey: (.+)/).to_a[1]'

※クライアント側から上記/usr/lib/ssh-command/find_key.shに引数ユーザー名を渡して実行した結果、公開鍵情報は取得できています。

lang

1/usr/lib/ssh-command/find_key.sh username 2ssh-rsa AAAA*********・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pi-chan

2015/08/28 20:18

お使いのldapのバージョンは何ですか? SSH公開鍵はどのように登録されましたか? SSH接続時にldapサーバーから公開鍵を取得する設定はどのようになっていますか?
Machirda427

2015/08/29 04:13

コメントありがとうございました。情報を追記させて頂きました。宜しくお願いします。
guest

回答2

0

/etc/default/sshに下記のように記述したらうまくいきました。

Options to pass to sshd

SSHD_OPTS=" -f /etc/ssh/sshd_config"

どうもありがとございました。

投稿2015/09/02 09:48

Machirda427

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

SSHサーバー(sshd)が Debian 7 でしょうか。

何らかの理由で AuthorizedKeysCommand が実行されていないように思います。
少なくとも pubkey が取得できていれば、公開鍵認証に失敗してパスワード認証になったとしても、ログに公開鍵の fingerprint が記録されます。

Failed password for (USERNAME) from (IP) port (PORT) ssh2: RSA (FINGERPRINT)

AuthorizedKeysCommand スクリプトやディレクトリのパーミッションに問題はないでしょうか。
問題がある場合、ログ(/var/log/auth.log)に以下のようなメッセージが出力されます。ご確認ください。

error: Unsafe AuthorizedKeysCommand: bad ownership or modes for directory ...

ログに特にエラーが出ていないようでしたら、/etc/ssh/sshd_config で "LogLevel DEBUG1" などログレベルを上げて試すとどうでしょうか。

(ログの例) debug1: matching key found: file /usr/lib/ssh-command/find_key.sh, line 1 RSA (FINGERPRINT)

投稿2015/08/30 07:25

TaichiYanagiya

総合スコア12139

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Machirda427

2015/09/02 09:50

ありがとうございます!なんとか解決できました。 /etc/default/sshに下記のように記述したらうまくいきました。 # Options to pass to sshd SSHD_OPTS=" -f /etc/ssh/sshd_config" どうもありがとございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問