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

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

ただいまの
回答率

90.51%

  • Debian

    131questions

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

  • LDAP

    90questions

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

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 6,255

Machirda427

score 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)です。

クライアント側のログを参照すると下記のとおりです。
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
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
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
AuthorizedKeysCommand /usr/lib/ssh-command/find_key.sh
AuthorizedKeysCommandUser root

/usr/lib/ssh-command/find_key.sh
#!/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に引数ユーザー名を渡して実行した結果、公開鍵情報は取得できています。

/usr/lib/ssh-command/find_key.sh username
ssh-rsa AAAA*********・・・
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • pi-chan

    2015/08/29 05:18

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

    キャンセル

  • Machirda427

    2015/08/29 13:13

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

    キャンセル

回答 2

checkベストアンサー

+1

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/09/02 18:50

    ありがとうございます!なんとか解決できました。

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

    # Options to pass to sshd
    SSHD_OPTS=" -f /etc/ssh/sshd_config"

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

    キャンセル

+1

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

# Options to pass to sshd
SSHD_OPTS=" -f /etc/ssh/sshd_config"

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • Debian

    131questions

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

  • LDAP

    90questions

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