アプリ版:「スタンプのみでお礼する」機能のリリースについて

centOS7搭載のPCと、windows7のPC間でやりとりをしております。
やったことは以下の通りです。


1、teratermのSSH鍵生成ボタンをクリックします

2、初期設定のまま、パスフレーズを設定します。

3、秘密鍵の保存、公開鍵の保存をそれぞれクリックして、鍵を作ります。

4、作成した公開鍵(id_rsa.pub)を、centOSへと転送します。

5、touchコマンド、chmodコマンドを使用して、authorized_keysファイルを作成、

6、catコマンドで4で転送したid_rsa.pubをauthorized_keysへと出力します

7、TeraTemでは、3で作成した秘密鍵(id_rsa)を指定すると、サーバーへログインできる



・・・と、CentOS7の入門書に書いてあるのですが、何度やり直しても、7でつまづいてしまいます。
秘密鍵を指定して、ログインしようとすると、エラーになってしまうのです。

エラー内容1
SSH2秘密鍵の読み込みに失敗しました
error:0906D06C:PEM routines:PEM_read_bio:no start line


以下のサイトにも、同じやり方が載っていました。
https://sanakoro.com/post-162/


このサイトの写真を見ると、
bcrypt KDF形式(K)のチェックが入っていなかったので、
チェックを外して再度試してみたのですが、
そうすると、今度は別のエラー文が表示されました。

エラー内容2
error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt



入門書を見ても、これ以上のことは載っておらず、
検索しても、同じようなやり方が出てくるだけです、


何が原因で、秘密鍵を利用したログインが出来ないのでしょうか?。
ご回答宜しくお願い致します。

質問者からの補足コメント

  • ubuntu端末から、centOS端末へと、
    sshコマンドを使用した公開鍵認証(リモート接続)は出来ているので、centOS側の鍵認証の設定は出来ていると考えています。
    その際に使用したコマンドは以下の通りです。
    ssh -i /home/ubuntuser/.ssh/authorized_keys centuser@199.200.200.200

      補足日時:2019/05/30 15:00

A 回答 (5件)

cat ~/.ssh/authorized_keys | wc -l


とやって、なんと表示されますかね?
file ~/.ssh/authorized_keys
とか。
# CentOS7で出るかな? ubuntu19.04ではちゃんと出たけど。
# リアルで動いているCentOS7がないのよね。CentOS6ならあるけど。

>reverse mapping checking getaddrinfo for

https://access.redhat.com/ja/solutions/742733
/etc/ssh/sshd_config を編集して、sshdの再起動してください。
接続してきたクライアントのIPアドレスからホスト名を取得する処理で失敗しています。


参照しているという入門書がなになのか不明…なので、手順の検証できませんな。
https://epnote.net/server/centos7_ssh
とか、どうでしょうかね?
『公開鍵の設定』の後は、『別ターミナルより公開鍵を利用して SSH 接続確認』で。
# 接続ポート番号は変更していないので22番で。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

cat .ssh/authorized_keys | wc -l
5

file .ssh/authorized_keys
.ssh/authorized_keys: OpenSSH RSA public key

それぞれ、こういった結果になりました。

参考にしている入門書というのは
「実践! CentOS 7 サーバー徹底構築」
https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5-Cent …

という本です、「リモートアクセス」
という項目を参考にしています。


記載して頂いたURLを拝見したのですが、
これといって、今まで試していない事が見当たりませんでした
(入門書以外にも、色々と試しているので・・)

お礼日時:2019/05/31 08:09

#3さんの方法を推奨。


なんですが、CentOSを普通にセットアップすると、
>バイナリ形式でputしてください。FTPで。
FTPサーバはインストールされません。

デフォルトでインストールしているならば、SSHでもパスワード認証ができるはずなので…TeraTermから
$ vi ~/.ssh/authorized_keys
で、コピー&ペーストあたりがよいかと。
    • good
    • 0
この回答へのお礼

FTPサーバーは、手動でインストール済みですが、
「バイナリ形式でput」というのが、よく判らなかったのです。

teratermの鍵を作成した時点では、鍵はwindows側なので・・、

コマンドというよりは、ソフトを利用して、centOS側に転送することになります。
(というより、その方法しか知らないので・・)
なので、言葉の意味は理解出来ないけれど、とりあえずFFFTPソフトを使って、バイナリ形式で送信することにしましたが、解決には至りませんでした。

>コピー&ペーストあたりがよいかと。

TeraTermからコピー&ペーストに関しては、
既に試してみたのですが、解決にはいたりませんでした。

ご回答ありがとうございます。

お礼日時:2019/05/31 08:08

>1、teratermのSSH鍵生成ボタンをクリックします


>2、初期設定のまま、パスフレーズを設定します。
>3、秘密鍵の保存、公開鍵の保存をそれぞれクリックして、鍵を作ります。

ここまではOKです。たぶん。

>4、作成した公開鍵(id_rsa.pub)を、centOSへと転送します。
>5、touchコマンド、chmodコマンドを使用して、authorized_keysファイルを作成、
>6、catコマンドで4で転送したid_rsa.pubをauthorized_keysへと出力します

ここがちょっと怪しいので、
4,作成した公開鍵(id_rsa.pub)を、centOSの /home/<ユーザー名>/.ssh/ ディレクトリにバイナリ形式でputしてください。FTPで。
5,以下のコマンドでauthorized_keysを作成してみてください。
作業はすべてログインするユーザーで行ってください。

cd /home/<ユーザー名>/.ssh/
mv authorized_keys authorized_keys.bak (現在のファイルのバックアップを作成)
mv id_rsa.pub authorized_keys (ftpでputしたファイルを名前変更)
chmod 600 authorized_keys
cd ../
chown -R <ユーザー名> .ssh
chmod 700 .ssh

>7、TeraTemでは、3で作成した秘密鍵(id_rsa)を指定すると、サーバーへログインできる

これでどうでしょうか?
なおtailコマンドで見るのはmessagesログではなくsecureろぐを見てみてください。
    • good
    • 0
この回答へのお礼

「バイナリ形式でputする」というのが、
何をどうすれば良いのか、よく判らなかったので、
FFFTPのソフトを用いて、バイナリ形式で転送しました

以降、ご回答頂いた手順にてコマンドを実行してみたのですが、
鍵を用いてログインすることは出来ませんでした。

windows側で表示されているエラーの内容は同じようなものです。

ただ、その時にsecureログも同時に確認していると、

reverse mapping checking getaddrinfo for user-pc [199.199.199.200] failed - POSSIBLE BREAK-IN ATTEMPT!

と、表示されていました、
このエラーについても検索してみたのですが、
解決策は見つける事が出来ていない状態です

ご存知の事がありましたら、教えて頂けると嬉しいです。
何度も親身なご回答を頂きまして、ありがとうございます。

お礼日時:2019/05/30 20:24

chmod 600 で問題ないです。


オーナーとはそのファイルの所有者です。これを変更する場合は chown コマンドを使います。
~/.ssh ディレクトリのオーナーとパーミッションも重要です。
それらが間違っていないとすると、あとはcatで作ったというauthorized_keysファイルの中身が間違っているかもしれません。
途中に改行が入っていたり、文字が抜けたりしていないか確認してください。

ログの確認は、私なら tail コマンドでログの流れを監視しながらログインを試みて、そのタイミングで出てきた部分を参照します。

>ssh -i /home/ubuntuser/.ssh/authorized_keys centuser@199.200.200.200

identity_fileの指定でauthorized_keys を指定してるんですか?
認証できているならそれが鍵ファイルなんでしょうけど、その状態だと別のサーバからubuntu端末への鍵認証は通らなくなっていると思います。

なんとなく、関連する各ファイルの役目とか名称(sshd_configとの整合性)とか、根本的に理解されていないようにお見受けいたします。
    • good
    • 1
この回答へのお礼

再度、ご回答頂きましてありがとうございます。

chownコマンドを使用して、所有者をログインユーザーへと変更してみました。
chown <ユーザー名> /home/<ユーザー名>/.ssh

・・が、結果は変わりませんでした。
文字抜けに関しては、初心者なので知識が乏しく、判断が付きかねるのですが、改行らしきものは無いようでした。


ログに関してですが、回答を参考にさせて頂きまして、
tail -f -n1 /var/log/messages
コマンドを使用して、ログのを確認してみたのですが、
秘密鍵を使用してログインしようと、失敗してエラーが出た時点では、
ログの追加がされていないようでした。

・・とすると、秘密鍵の登録や読み込みが、そもそも出来ていないのでは?。とも思ったのですが、
authorized_keysファイル内にも、しっかりとTeraTermの公開鍵が追加されていましたし、
質問本文に記載したやり方の、何が間違っているのか、見等も付かないといった状態です。



>根本的に理解されていないようにお見受けいたします。

はい、恐縮ながら、その通りです。
質問本文に記載したやり方自体が、centOS7の入門書を見ながら、その通りの順番で、ただただ行っただけの状態でして・・。
(入門書によれば、あの順番で出来るらしいのですが・・)

ただ、入門書に書いてない部分も、自力でネット検索をしたり、
設定を弄ったり、centOS自体の再インストールを繰り返したり、、

努力はしているのですが、中々、思うようにはいかず・・、
こういった場で、助けていただいており、申し訳なく思っています。

お礼日時:2019/05/30 16:42

鍵認証のエラーは、パーミッション不良の場合は多いです。


~/.ssh ディレクトリ、authorized_keys ファイルのオーナーや権限はそれぞれ正しく設定されてますか?
為念ですが、sshd_configで鍵認証ができるように設定されてますよね?

あとはシステムのログをみて、どんな認証エラーが起きているか確認すればエラーの内容が絞れると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

authorized_keysファイルを作成する時に、
chmod 600コマンドで設定しました。

[chmod 600]は、所有者のみ閲覧可という意味らしいので、
これがパーミッションや権限の設定だと認識しているのすが・・、


すみません、検索してみたのですが、
「オーナー」の意味が理解出来ませんでした。
知識が乏しくて申し訳ありません。

ただ、それ以前に、
実を言うとubuntu端末から、centOS(問題のサーバー)へと、
sshコマンドを使用した公開鍵認証は出来ているので、鍵認証の設定は出来ていると考えています。
(補足にも、追記しておきます)


申し訳ないのですが、
ログを確認するにも、色んな種類のコマンドがあるようでして・・、
どのコマンドを実行すれば良いのか判らなくなってしまいました。

今回の場合、どのコマンドを使用してログを確認するべきでしょうか?。
素人の質問ばかりで、本当に申し訳ありません。

お礼日時:2019/05/30 14:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!