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

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

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

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

Debian

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

解決済

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

Machirda427
Machirda427

総合スコア19

LDAP

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

Debian

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

2回答

0評価

1クリップ

12433閲覧

投稿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

sshd[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

dn: uid=username,ou=User,dc=example,dc=co,dc=jp objectClass: shadowAccount objectClass: posixAccount objectClass: account objectClass: top objectCkass: ldapPublicKey cn: username uid: username uidNumber: 2001 gidNumber: 2000 homeDirectory: /home/username loginShell: /bin/bash shadowMin: 0 shadowMax: 99999 shadowWarning: 7 shadowLastChange: 16175 userPassword: {SSHA}************************************* sshPublicKey: ssh-rsa AAAA**********************************

※openssh-lpkスキーマの追加

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

lang

dn: cn=openssh-lpk,cn=schema,cn=config objectClass: olcSchemaConfig cn: openssh-lpk olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey' DESC 'MANDATORY: OpenSSH Public key' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 ) olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY DESC 'MANDATORY: OpenSSH LPK objectclass' MAY ( sshPublicKey $ uid ) )

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

/etc/ssh/sshd_config

lang

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

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

lang

#!/bin/bash uri=ldap://10.0.XXX.XXX/ binddn="cn=admin,dc=example,dc=co,dc=jp" bindpw=****** base="dc=example,dc=co,dc=jp" uid=$1 ldapsearch -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

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

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

pi-chan

2015/08/28 20:18

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

2015/08/29 04:13

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

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

LDAP

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

Debian

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