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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

解決済

公開鍵を使ったSSH接続で自分自身に接続するとパスワードを求められてしまう

310uk
310uk

総合スコア13

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

3回答

0評価

0クリップ

11788閲覧

投稿2018/11/09 06:25

編集2018/11/09 08:36

前提・実現したいこと

現在RHEL6.5で稼働しているWebアプリケーションのログを、Webサーバから他のサーバにSSHでファイル転送しています。
その動きの中で、(仕様の良し悪しは置いといて)自分自身にもSSHで繋いでファイル転送しています。
cronでバッチ(*.sh)を動かしているため、鍵交換方式でパスワード不要で接続できるようにしています。
※現在正常稼働中です

そのアプリケーションの検証環境を構築しようとしており、そちらはCentOS6.5を使っています。

稼働環境と検証環境の差異は、以下の通りです。

  • OS

稼働環境⇒RHEL6.5
検証環境⇒CentOS6.5

  • サーバ構成

稼働環境⇒Webサーバ、DBサーバ、BKサーバが、それぞれオンプレサーバで稼働
検証環境⇒Webサーバ、DBサーバ、BKサーバを1台のオンプレサーバで稼働

  • OpenSSHバージョン

両環境共⇒OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

発生している問題

次に書くコマンドを実行して、鍵の生成と、自分自身への公開鍵の転送を行いましたが、SSH接続時にパスワードを求められてしまいます。

実行したコマンド

#sh実行ユーザに切り替え su - hoge #鍵生成 #途中のプロンプトは全て空のままEnter ssh-keygen -t rsa #鍵を転送 ssh-copy-id -i /var/hoge/.ssh/id_rsa.pub hoge@localhost #繋ぐとパスワードが求められてしまう ssh hoge@localhost

試したこと

  • ssh-copy-idコマンドで転送するサーバの指定とsshコマンドの接続先を、localhost以外に以下の3つも試しましたが変わりませんでした。

・127.0.0.1
・hostsに書いたホスト名
・ネットワーク上のIPアドレス

  • /var/hoge/.ssh/配下のauthorized_keysknown_hostsの各ファイルの内容を確認したところ、正しいと思える内容が追記されていました。

※4つのサーバ指定が全て記載されていた

  • ググっていたところ(teratail内にもありましたが)ホームディレクトリや.sshディレクトリおよび配下のファイルのアクセス権設定が不適切な可能性、という話が見つかったので、正常に動作している稼働環境のアクセス権と同一に設定し直しましたが、状況は変わりませんでした。

※補足情報参照

  • /etc/ssh/sshd_configの設定は、両環境共同一であることを確認済みです。

PermitRootLoginを変更した以外はデフォルト

  • あえて/etc/ssh/sshd_configRSAAuthenticationPubkeyAuthenticationを有効にしてyesを指定してみましたが、ダメでした。
  • サーバの再起動もしました。変化ありません…

補足情報

  • .sshディレクトリ配下の各ファイルのアクセス権は以下の通りです。
-rw------- 1 hoge hoge 3906 11月 9 10:32 2018 authorized_keys -rw------- 1 hoge hoge 1675 11月 9 10:16 2018 id_rsa -rw-r--r-- 1 hoge hoge 393 11月 9 10:16 2018 id_rsa.pub -rw-r--r-- 1 hoge hoge 3537 11月 9 10:36 2017 known_hosts
  • /var/log/secureの出力内容は以下の通りです。

鍵見に行ってない…

Nov 9 16:01:42 backup-t su: pam_unix(su-l:session): session opened for user hoge by root(uid=0) Nov 9 16:01:54 backup-t sshd[3512]: Accepted password for hoge from ::1 port 40532 ssh2 Nov 9 16:01:54 backup-t sshd[3512]: pam_unix(sshd:session): session opened for user hoge by (uid=0) Nov 9 16:01:57 backup-t sshd[3516]: Received disconnect from ::1: 11: disconnected by user Nov 9 16:01:57 backup-t sshd[3512]: pam_unix(sshd:session): session closed for user hoge Nov 9 16:01:59 backup-t su: pam_unix(su-l:session): session closed for user hoge
  • sshコマンドに-vスイッチを付けてデバッグモードで実行してみました。

しかし何故パスワード認証に移行してしまうのかが分かりません…

[hoge@backup-t ~]$ ssh -v localhost OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to localhost [::1] port 22. debug1: Connection established. debug1: identity file /var/hoge/.ssh/identity type -1 debug1: identity file /var/hoge/.ssh/identity-cert type -1 debug1: identity file /var/hoge/.ssh/id_rsa type 1 debug1: identity file /var/hoge/.ssh/id_rsa-cert type -1 debug1: identity file /var/hoge/.ssh/id_dsa type -1 debug1: identity file /var/hoge/.ssh/id_dsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 debug1: match: OpenSSH_5.3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host 'localhost' is known and matches the RSA host key. debug1: Found key in /var/hoge/.ssh/known_hosts:2 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Next authentication method: gssapi-keyex debug1: No valid Key exchange context debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_500' not found debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_500' not found debug1: Unspecified GSS failure. Minor code may provide more information debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_500' not found debug1: Next authentication method: publickey debug1: Trying private key: /var/hoge/.ssh/identity debug1: Offering public key: /var/hoge/.ssh/id_rsa debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Trying private key: /var/hoge/.ssh/id_dsa debug1: Next authentication method: password

恐れ入りますが、どなたかお知恵をお貸しいただければと思います。
よろしくお願いいたします。

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。