
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
入門書を見ても、これ以上のことは載っておらず、
検索しても、同じようなやり方が出てくるだけです、
何が原因で、秘密鍵を利用したログインが出来ないのでしょうか?。
ご回答宜しくお願い致します。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.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番で。
ご回答ありがとうございます。
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を拝見したのですが、
これといって、今まで試していない事が見当たりませんでした
(入門書以外にも、色々と試しているので・・)
No.4
- 回答日時:
#3さんの方法を推奨。
なんですが、CentOSを普通にセットアップすると、
>バイナリ形式でputしてください。FTPで。
FTPサーバはインストールされません。
デフォルトでインストールしているならば、SSHでもパスワード認証ができるはずなので…TeraTermから
$ vi ~/.ssh/authorized_keys
で、コピー&ペーストあたりがよいかと。
FTPサーバーは、手動でインストール済みですが、
「バイナリ形式でput」というのが、よく判らなかったのです。
teratermの鍵を作成した時点では、鍵はwindows側なので・・、
コマンドというよりは、ソフトを利用して、centOS側に転送することになります。
(というより、その方法しか知らないので・・)
なので、言葉の意味は理解出来ないけれど、とりあえずFFFTPソフトを使って、バイナリ形式で送信することにしましたが、解決には至りませんでした。
>コピー&ペーストあたりがよいかと。
TeraTermからコピー&ペーストに関しては、
既に試してみたのですが、解決にはいたりませんでした。
ご回答ありがとうございます。
No.3
- 回答日時:
>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ろぐを見てみてください。
「バイナリ形式でputする」というのが、
何をどうすれば良いのか、よく判らなかったので、
FFFTPのソフトを用いて、バイナリ形式で転送しました
以降、ご回答頂いた手順にてコマンドを実行してみたのですが、
鍵を用いてログインすることは出来ませんでした。
windows側で表示されているエラーの内容は同じようなものです。
ただ、その時にsecureログも同時に確認していると、
reverse mapping checking getaddrinfo for user-pc [199.199.199.200] failed - POSSIBLE BREAK-IN ATTEMPT!
と、表示されていました、
このエラーについても検索してみたのですが、
解決策は見つける事が出来ていない状態です
ご存知の事がありましたら、教えて頂けると嬉しいです。
何度も親身なご回答を頂きまして、ありがとうございます。
No.2
- 回答日時:
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との整合性)とか、根本的に理解されていないようにお見受けいたします。
再度、ご回答頂きましてありがとうございます。
chownコマンドを使用して、所有者をログインユーザーへと変更してみました。
chown <ユーザー名> /home/<ユーザー名>/.ssh
・・が、結果は変わりませんでした。
文字抜けに関しては、初心者なので知識が乏しく、判断が付きかねるのですが、改行らしきものは無いようでした。
ログに関してですが、回答を参考にさせて頂きまして、
tail -f -n1 /var/log/messages
コマンドを使用して、ログのを確認してみたのですが、
秘密鍵を使用してログインしようと、失敗してエラーが出た時点では、
ログの追加がされていないようでした。
・・とすると、秘密鍵の登録や読み込みが、そもそも出来ていないのでは?。とも思ったのですが、
authorized_keysファイル内にも、しっかりとTeraTermの公開鍵が追加されていましたし、
質問本文に記載したやり方の、何が間違っているのか、見等も付かないといった状態です。
>根本的に理解されていないようにお見受けいたします。
はい、恐縮ながら、その通りです。
質問本文に記載したやり方自体が、centOS7の入門書を見ながら、その通りの順番で、ただただ行っただけの状態でして・・。
(入門書によれば、あの順番で出来るらしいのですが・・)
ただ、入門書に書いてない部分も、自力でネット検索をしたり、
設定を弄ったり、centOS自体の再インストールを繰り返したり、、
努力はしているのですが、中々、思うようにはいかず・・、
こういった場で、助けていただいており、申し訳なく思っています。
No.1
- 回答日時:
鍵認証のエラーは、パーミッション不良の場合は多いです。
~/.ssh ディレクトリ、authorized_keys ファイルのオーナーや権限はそれぞれ正しく設定されてますか?
為念ですが、sshd_configで鍵認証ができるように設定されてますよね?
あとはシステムのログをみて、どんな認証エラーが起きているか確認すればエラーの内容が絞れると思います。
ご回答ありがとうございます。
authorized_keysファイルを作成する時に、
chmod 600コマンドで設定しました。
[chmod 600]は、所有者のみ閲覧可という意味らしいので、
これがパーミッションや権限の設定だと認識しているのすが・・、
すみません、検索してみたのですが、
「オーナー」の意味が理解出来ませんでした。
知識が乏しくて申し訳ありません。
ただ、それ以前に、
実を言うとubuntu端末から、centOS(問題のサーバー)へと、
sshコマンドを使用した公開鍵認証は出来ているので、鍵認証の設定は出来ていると考えています。
(補足にも、追記しておきます)
申し訳ないのですが、
ログを確認するにも、色んな種類のコマンドがあるようでして・・、
どのコマンドを実行すれば良いのか判らなくなってしまいました。
今回の場合、どのコマンドを使用してログを確認するべきでしょうか?。
素人の質問ばかりで、本当に申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) AWSのcloud9で「 ls -l ~/.ssh/」のコマンドで公開鍵、 秘密鍵を知ろうとすると「 1 2023/07/09 02:10
- UNIX・Linux OpenSSHのサーバー設定ファイルsshd_config内のHostKey行について 4 2023/05/02 09:53
- その他(教育・科学・学問) 公開鍵暗号方式は秘密鍵を利用者本人しかもたないため、相手を特定する方法として利用することができますが 3 2022/05/16 23:27
- セキュリティホール・脆弱性 電子署名について教えてください 電子署名は公開鍵暗号方式ですが公開鍵で最初に暗号化してから秘密鍵で相 3 2023/05/03 14:50
- UNIX・Linux Ubuntu20.04からUbuntu22.04にバージョンアップする際にssh-rsaが無効になっ 1 2022/11/25 00:08
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- 弁護士・行政書士・司法書士・社会保険労務士 翻訳された契約書の難解な日本語 2 2023/08/09 23:41
- Yahoo!メール Yahooアカウントにログインできなくなって困っています。 2 2023/05/16 02:28
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- iPad Gメール にログインできないのですが 2 2022/06/02 13:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
windowsの再インストール、また...
-
IASについて
-
IISでのBASIC認証
-
ユーザ認証(xauth)とホスト認証...
-
メールサーバのログにConnectio...
-
windowsゲストOSのライセンス認...
-
UNIX初心者です。sftpで鍵認証...
-
公開鍵方式のsshでパスワード入...
-
Apache2.2.9でのBasic認証について
-
Postfixのsmtp_sasl~ と smt...
-
Linux系OSでHDD全体の暗号化は...
-
sshでlogin後、操作中、固まる...
-
AWSでSSH接続をしたいのですが...
-
SSHのコマンドでサーバーからデ...
-
循環参照にならない方法があっ...
-
リモートデスクトップ接続でパ...
-
DNSサーバを設定したのですがns...
-
サーバーというのとメインフレ...
-
エラーメールで"too many hops"...
-
パスワード設定していないユー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AWSでSSH接続をしたいのですが...
-
sftpのバッチモード(Solaris)
-
SSHに繋がらない
-
SSH通信で秘密鍵の読み込みが失敗
-
SSH + rsyncがダメです
-
メールサーバのログにConnectio...
-
sshでlogin後、操作中、固まる...
-
Postfixのsmtp_sasl~ と smt...
-
sftpのパスワードなしでログイン
-
WindowsからRLoginでFreebsdにS...
-
UNIX初心者です。sftpで鍵認証...
-
Cyrus SASL 認証Mechanism につ...
-
ssh公開鍵認証設定の解除について
-
認証が必要なプロキシー経由でyum
-
VMware Fusionについて
-
centOS7とteratermで、秘密鍵、...
-
不正アクセスの処理について
-
winscpでのアップロードログ
-
OpenSSHのことですが
-
対話型のコマンドで入力する値...
おすすめ情報
ubuntu端末から、centOS端末へと、
sshコマンドを使用した公開鍵認証(リモート接続)は出来ているので、centOS側の鍵認証の設定は出来ていると考えています。
その際に使用したコマンドは以下の通りです。
ssh -i /home/ubuntuser/.ssh/authorized_keys centuser@199.200.200.200