NISで共用アカウントでSSHログインができない理由

このQ&Aのポイント
  • NISにて共用アカウントでSSHログインを試みるとPermission deniedとなります。ログにはIllegal userというエラーメッセージが表示されています。
  • NISのマスターサーバからはpasswd.bynameを取得でき、問題のアカウントも正しく表示されています。
  • /etc/nsswitch.confの設定はfiles nisplus nisとなっていますが、なぜアカウントが認識されないのかわかりません。ご教授いただければ幸いです。
回答を見る
  • ベストアンサー

ssh にて Illegal user となってしまう(NIS認証失敗)

NISにてどうしてもわからないことがありましたので 質問させていただきます。 現在NISにてアカウントの共用を行っていますが、 新しく設定したホストへ共用アカウントでssh の ログインを試みたところ、Permission denied となりログインができません。 ホストの/var/log/messageを見たところ、 以下のようなメッセージが出ており、どうやら アカウントが認識されていないようなのです。 sshd[*****]: Illegal user yyyyy from xx.xx.xx.xx 実際は、ypwhich -m にてpasswd.byname が マスターサーバから引けていますし、 問題のアカウントもypcat yyyyy passwd で ちゃんと見ることができています。 /etc/nsswitch.conf の passwd,shadow,group は すべて files nisplus nis の順で記述しています。 これは、何がいけないのでしょうか? ご存知の方がいらっしゃったらぜひご教授ください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • g_nagata
  • ベストアンサー率64% (27/42)
回答No.1

NISはあまり詳しくないので思いきり外していたらごめんなさい。 新規ホストは既存ホストと設定・OSバージョンが違うんでしょうか?だったら、もしかして、 /etc/sysconfig/authconfig で  USENIS=no となっていませんか? authoconfig コマンドで設定したのでしょうか? あとは、各種サービスを再起動もしくはリブートして結果がかわるか、とか。

tt_1976
質問者

お礼

まさにお話しのとおりでした! 新しく入れたOSはMiracle Linux だったのですが (他は主にRed Hat Linux でした) 該当箇所が no になっており、yes へ変更したら 無事にログインできました。 本当にありがとうございました!

関連するQ&A

  • SSHをLDAPで認証

    SSHをLDAPを使って認証させたいのですが、上手くいきません・・・ /etc/passwdに登録してあるユーザはログイン可能なのですが、LDAPに登録してあるユーザではログインできません。以下、ログイン不能時のログです。 ※LDAPのログには、何も記述されていないので、そもそもSSHからLDAPサーバにアクセスできていないように思うのです。しかしながら、どうして良いか全く分からないため、皆様の知恵をお借りしたく。 --------log--------- Illegal user test from 127.0.0.1 May 11 10:13:07 Proxy sshd[23596]: PAM unable to dlopen(/lib/security/pam_ldap.so) May 11 10:13:07 Proxy sshd[23596]: PAM [dlerror: /lib/security/pam_ldap.so: undefined symbol: ber_pvt_opt_on] May 11 10:13:07 Proxy sshd[23596]: PAM adding faulty module: /lib/security/pam_ldap.so May 11 10:13:36 Proxy sshd[23596]: Failed password for illegal user test from 127.0.0.1 port 35168 ssh2 --------------------- /etc/pam.d/sshdに関しては、pam_ldapのソース内にあったものをそのまま流用しています。 ■基本情報 OS:Redhat 2.4.21-4.EL openldap-2.3.21 pam_ldap-182 nss_ldap-250 LDAPクライアント、サーバとも同一サーバ。

  • TeraTermマクロでssh認証画面で反応なし

    サーバーへ自動ログインするために、次のようなTeraTermマクロを作成し、 pcのコマンドプロンプトでバッチファイルを実行しました。 ・TeraTermマクロ:teracon.ttl  connect 'xx.xx.xx.xx /ssh /2 /auth=xxxxx /user=yyyyy /passwd=zzzzz' ・TeraTermマクロ実行用バッチファイル  @echo on  "C:Program File\teraterm\ttpmacro.exe" "%~dp0teracon.ttl" このマクロを実行したところ、数名が正常にログインできませんでした。 状況としてはssh認証画面で止まったままになり、OKボタンは反応せず、 接続断ボタンは反応します。 ただし、このマクロを使用した全員とも、手動ではTeraTermを起動し、 サーバーへログインできております。 また、ssh認証画面で止まった人の/var/log/secureのログは次のとおりで、 session opened for user xxx by (uid=0)になっており、ssh認証は正常に 実行されているように見えます。 省略 localhost sshd[4257]: Accepted password for xxx from xx.xx.xx.xx port 2534 ssh2 省略 localhost sshd[4257]: pam_unix(sshd:session): session opened for user xxx by (uid=0) ※:TeraTermのバージョンは4.74です。 以上のことからサーバー側には、問題はないように見えます。 マクロおよびPC側に何か原因があるように思われます。 どなたか対処方法をご存知でしたら、教えてください。 よろしくお願いします。

  • NISについて

    現在、FreeBSD 4.7-RELEASE二台でNISサーバとNISクライアントを構築しました。 ハンドブックを見て手順通りに設定しました。 問題となっているのは、ログイン時に/etc/passwdを見るという事です。 /etc/master.passwdは、/var/yp/master.passwdにコピーしてmakeしました。 ypserverとypbindも正常に動作しています。 ypchpassコマンドでシェルなどの変更もできるのですが、変更されるのは/var/yp/master.passwdです。 これも問題ないと思うのですが、SSHでログインすると/etc/passwdから情報を得ています。 何が問題なのでしょうか? アドバイスをよろしくお願い致します。

  • LDAPサーバのSSH認証でログインできない

    現在1台のマシン上にZone環境を用いてLDAPサーバ、クライアントを構築し、サーバ上(グローバルゾーン)からクライアントへ(ローカルゾーン)へSSHログイン認証をLDAPで行わせようとしています。 設定に関しては下記サイトに従っています。 http://blogs.sun.com/funasaki/entry/directory_server_setup 最終確認のSSHのLDAPログイン認証にてインスタンスの起動に関わらず以下のメッセージが出力されログインできません。 --------------------------------------------------------------- # ssh -l testuser zone1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 警告: リモートホストの識別情報が変更されました! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ だれかが悪意のある操作を行なっている可能性があります! 現在、そのだれかから盗聴されている可能性があります (man-in-the-middle attack)! また、RSA ホストキーが変更された可能性もあります。 リモートホストから送信されてきた RSA 鍵のフィンガープリントは、 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx です。 システム管理者に連絡してください。このメッセージを削除するには、正しいホストキーを /.ssh/known_hosts 内に追加してください。 /.ssh/known_hosts 内の問題の鍵:1 zone1 の RSA ホストキーが変更され、厳密な検査が要求されました。 ホストキーの検証に失敗しました。 --------------------------------------------------------------- 尚作業は以下の環境にて行っています。 Solaris10 SPARC 64bit SunDirectoryServer6.2 Sun_SSH_1.1、SSH プロトコル 1.5/2.0、OpenSSL 0x0090704f 解決方法・対応をご存知の方ご教授願います。 宜しくお願い致します。

  • SSHに繋がらない

    SSHから接続できず、ユーザー認証でエラーになってしまいます。 何かわかる方がいらっしゃいましたら、どうか少し教えて頂けないでしょうか。 OSはCentOS 6.2 です。 -------------------------------------------------------------------- ■サーバー -------------------------------------------------------------------- ★設定 # vi /etc/ssh/sshd_conf > Port 22 > Protocol 2 > AllowTcpForwarding yes > GatewayPorts no > MaxAuthTries 6 > MaxSessions 10 > > ServerKeyBits 1024 > StrictModes yes > > SyslogFacility AUTHPRIV > LogLevel DEBUG3 > > PubkeyAuthentication yes > PasswordAuthentication no > PermitEmptyPasswords no > AuthorizedKeysFile .ssh/authorized_keys > > PermitRootLogin without-password > UsePrivilegeSeparation yes > > Subsystem sftp /usr/libexec/openssh/sftp-server > X11Forwarding no ★鍵を作成 # su user1 $ ssh-keygen -t rsa -b 1024 $ Generating public/private rsa key pair. $ Enter file in which to save the key (/user1/.ssh/id_rsa): $ Enter passphrase (empty for no passphrase): $ Enter same passphrase again: $ Your identification has been saved in /user1/.ssh/id_rsa. $ Your public key has been saved in /user1/.ssh/id_rsa.pub. $ The key fingerprint is: $ 50:4f:72:d4:0a:d6:d2:24:98:96:7b:xx:xx:xx:xx:xx user1@myhost.com $ The key's randomart image is: ★鍵の名前を変更 $ cd /home/user1/.ssh/ $ cp id_rsa.pub authorised_keys $ rm id_rsa.pub ★パーミッション確認 $ drwxr-xr-x. root root /etc/ssh $ -rw------- root root /etc/ssh/sshd_conf $ drwxr-xr-x. user1 user1 /home/user1 $ drwxr-xr-x user1 user1 /home/user1/.ssh $ -rw-r--r-- user1 user1 /home/user1/.ssh/authorised_keys ★再起動 # service sshd restart # Stopping sshd: OK ] # Starting sshd: OK ] -------------------------------------------------------------------- ■クライアント -------------------------------------------------------------------- Windows7 teraterm ポート:22 SSHバージョン:SSH2 ユーザー名・パスフレーズを入力し、「RSA/DSA鍵を使う」に上記で作った「id_rsa」プライベート鍵をセット。 エラーメッセージ:「SSH2自動ログインエラー:ユーザー認証が失敗しました」 -------------------------------------------------------------------- ■ ログ(/var/log/secure)抜粋 -------------------------------------------------------------------- Aug 6 17:57:26 localhost sshd[21819]: debug1: temporarily_use_uid: 0/0 (e=0/0) Aug 6 17:57:26 localhost sshd[21819]: debug1: trying public key file /user1/.ssh/authorized_keys Aug 6 17:57:26 localhost sshd[21819]: debug1: restore_uid: 0/0 Aug 6 17:57:26 localhost sshd[21819]: debug1: temporarily_use_uid: 0/0 (e=0/0) Aug 6 17:57:26 localhost sshd[21819]: debug1: trying public key file /user1/.ssh/authorized_keys Aug 6 17:57:26 localhost sshd[21819]: debug1: restore_uid: 0/0 Aug 6 17:57:26 localhost sshd[21819]: Failed publickey for user1 from yyy.yyy.yyy.yyy port 58193 ssh2 Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_answer_keyallowed: key 0x7fc196d47cf0 is not allowed Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_request_send entering: type 22 Aug 6 17:57:26 localhost sshd[21819]: debug3: mm_request_receive entering Aug 6 17:57:26 localhost sshd[21820]: debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa Aug 6 17:57:26 localhost sshd[21820]: debug3: Wrote 68 bytes for a total of 2633 Aug 6 17:57:26 localhost sshd[21820]: Connection closed by yyy.yyy.yyy.yyy ※yyy.yyy.yyy.yyyは、teratermでアクセスしたIPです。 -------------------------------------------------------------------- ■備考 -------------------------------------------------------------------- 「nmap localhost」は「22/tcp open ssh」ですが、 グローバルIPで「nmap xxx.xxx.xxx.xxx」すると、22番がリストに出ませんでした。 ルーター、iptables、ともにポートは開けています。 (念のため、「iptables」と「system-config-firewall」は停止しています。) ログを見ると、sshdまで到達しているように見えるのですが・・・。

  • SSHのパスワード無し認証(公開鍵暗号方式)

    過去ログに似た質問がいくつかあり、それらを参考にしましたが、何故か私の環境では上手く行かないので、何が原因なのか、どうすればよいのか、どなたか教えて頂けると嬉しく思います。 ■やりたいこと ・SSHでパスワード無しログイン ■環境条件 ・ローカルマシン(接続元)   VineLinux 3.1 ・ホストマシン(接続先)   VineLinux 3.1 ・両方のマシンに同じユーザ(hikaly)があり、ログインパスワードは同じものになっている。 ■手順 ローカルマシンにhikalyでログインし、 $ ssh-keygen -t rsa -N "" でパスフレーズ無しの鍵を作成する。 /home/hikaly/.ssh/id_rsa.pub というファイルを、ホストの /home/hikaly/.ssh/ にコピー。この際、WinSCP3を使って、ローカル→作業用Windowsマシン→ホスト とコピーを行いました。 ホストの /home/hikaly/.ssh/ には authorized_keys が存在しなかったので、コピーした rsa_id.pub を authorized_keys に改名。 ホスト側で root になって sshd_config を編集。 RSAAuthenticationを「yes」にして保存。sshdを再起動させました。 ■結果 これでローカル側からホスト側にパスワード無しで接続できるはずだと思いますが、 hikaly@hostmachine's password: とパスワードを尋ねられてしまいます。 いろいろとググッて調べてみたところ、「接続先(ホスト側)でssh-keygenしてできたrsa_id.pubを接続元(ローカル側)にコピーせよ。」と読める資料を見つけましたが、多くのものは「接続元でssh-keygenして接続先にコピーせよ。」と書かれています。ワケ分からなくなってきました。(;´ρ`) 私の質問もややこしくてワケ分からなくてすいません。

  • 特定ホストからのみSSHでのrootログインを許可

    2台のサーバ間でrootユーザー所有のファイルの同期を rsyncで行う為、ssh_configでrootログインを許可しています。 ココでセキュリティの関係上、sshでのrootログインを特定の ホストからのみ許可したいと思ってます。 /etc/security/access.confに以下を追記 -:root : ALL EXCEPT 192.168.**.**. /etc/pam.d/sshdに以下を追記 account required pam_access.so /etc/ssh/sshd_config UserPAM yes と言う設定をしましたが、これ以外に有効な方法はありますでしょうか? (この方法だと厳密には、「認証を通さない」設定になるかと思います) ありましたら、教えて頂きたいと思います。

  • NISの設定について

    はじめまして,marucomと申します. Red Hat7.2を使用して各種サーバを立ち上げようとしています. サーバ管理の初心者なものでどこから手をつけてよいか分からず,とりあえずNISの設定を行っています. まずは,マシン2台を直接クロスでつないで,NISの動作確認をしています. クライアントの方でypwhichを行えば,NISサーバ名を正しく表示し,ypcatでpasswdファイルを見れば内容を見ることができるのですが,サーバの方に追加してあるユーザ名でのクライアントからのログインができません.(認証失敗となる)もちろん,ypbaind等は起動してあります. またサーバ側ではそのユーザ名でログインはできます. ドメインの設定も正しく行われていると思うのですがいまいち原因が良くわかりません. 参考書によるとんNFSを用いてユーザのホームディレクトリを各ホストがマウントしていることが必要と書いてあるのですが,原因はそこなんですか? ちょっと分かりにくい文章になりましたが,分かる方どうかよろしくお願いします.

  • パスワードなしで ssh のログインを行いたい

    http://www.okweb.ne.jp/kotaeru.php3?q=588282 の続きです いろいろ回答をいただいて問題点が少しはっきりしたので、質問の焦点を絞って再投稿します。 2台の Windows XP の PC に、Cygwinをいれ、OpenSSH サーバをたてています(サービスとして動かす)。  「パスワードなしで ssh のログインを行いたい」 のですが、うまくいきません。設定は、次のように行いました。 (1) クライアントPCで公開鍵をつくる   $ ssh-keygen -t rsa で(パスフレーズを空白にして)公開鍵を作成(identity.pub) (2) ホストPCに鍵をコピーして、   % cat identity.pub >> .ssh/authorized_keys のように、authorized_keys に鍵の内容を追加する。 Linux がホストの場合は、以上の手続きで「パスワードフリー」になったのですが、 Cygwin ではだめです。   $ssh -1 192.168.0.5 1   Permission denied.   $ ssh 192.168.0.5   Permission denied (publickey,keyboard-interactive). のようになって、失敗してしまいます。

  • sshでログインができません?

    linux7.2 REDHATでopensshを構築しました。windowsクライアントからLAN内でsshで接続しようとしていますがうまくいきません。 普通成功したときはパスワードを聞いてきますが、聞かれない状態です。 LINUX側でユーザーかグループを作成しなければならないのでしょうか? 以下の設定ファイルを調整してみました。 ・sshd_conf ・hosts.allow ・hosts.deny ・pingは通ります。 ・サーバー側ではsshでログインできます。 ・テストでtelnetを設定してみましたがクライアントからログインできませんでした。 サーバー側からはできました。 ・ブラウザー経由でwebサーバはアクセスできます。 ・DOSプロンプトから telnet ホスト名 22 で確認したところ接続できない状態になる。 ポートのところではじかれているように思えます。 どなたかこころやさしい方ご教授いただけないでしょうか? よろしくお願いいたします。