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

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

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

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

3回答

1676閲覧

ssh接続で、間違っている箇所を教えて欲しいです。

EveryoneCanEat

総合スコア40

SSH

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2024/02/21 07:16

編集2024/02/22 01:09

お世話になります。初めてのssh接続で二週間以上時間を費やしており、にっちもさっちもいかない状況です。どこが、何が間違っているのかと、sshクライアントでDEBUGレベルのログの出し方を教えて欲しいです。

secureログは無いです。syslogをgrepで検索するゆとりも無い状況で、auth.logで調べたり致しておりますが、ログや設定ファイル等をそのままこちらのサイトにコピペする余裕も無く(Ubuntuしか入っていないpcで、ブラウザ設定も未だですので、色々と時間がかかってしまう為)、要所要所を掲載致したい次第です。

・環境
【クライアント】
Ubuntu22.04デスクトップ
opensshクライアント
【サーバー】
Ubuntu Server22.04
opensshサーバー

・keygenでクライアント側でed25519のキーを作成済

・サーバー側のsshd_config
PermitRootLogin no
ListenAddress 0.0.0.0 port22
HostKey ed25519
PubKeyAuthentication yes
AuthorizedKeysFile home/<クライアントユーザー名

/.ssh/Authorized_keys

PasswordAuthentication yes
PermitEmptyPassword no
UseDNS no
TCPKeepAlive yes
AllowUsers <クライアントユーザー名@クライアントア
ドレス>

・パーミッション
.ssh700
Authorized_keys600
秘密鍵600
home755
クライアント側もサーバー側もhome以外の所有権とグループは全てクライアントユーザー名

・クライアント側の.ssh/configファイル 作成致しておりません。全てコマンド対応です。

・サーバー側
home/<クライアントユーザー>/.ssh/Authorized_keys
home/<サーバーユーザー名>/.ssh/Authorized_keys
の両方のホームを作成致しております。

クライアントユーザー sudo権限付与済
サーバーユーザー sudoを使えば昇格出来る

・サーバー側でsshd_configでAuthorized_keysへのパスを通しているのは現在はクライアントユーザー名のホームディレクトリ

・エラー内容
まずはサーバーに接続する為のパスワードを聞かれ、3回入力後、今度はサーバーマシンのパスワードを聞かれて、一度入力したらPermission Deniedを吐いてまたサーバーマシンのパスワードを聞かれるが、すぐにConnection closedでセッションが切れる。これらの繰り返し作業を延々と致しております。

・Auth.logがデバッグレベルのログを残してくれない。ただ、Session opend、Session closedばかりしか吐いてくれないのでは、エラーの詳細が解らない。

ログで気になる箇所。'org.blues'がtimeアウトエラーを吐きますが、ssh接続に直接関係あるのかどうか解らない為、未対応。

サーバー側のsshd_configでは、LogLevelをDEBUGとして追加致しましたが、クライアント側では、sshd_configが無い為、Auth.logでデバッグレベルのログをどうやって吐いてもらえるのか解っておりません。

問題は、詳細なログをクライアント側で吐いてくれない為、エラーや問題の特定が出来ていない事と、未だ自分は初心者である為、理解出来ていない事が多すぎる為、間違っている箇所があれば、ご指摘とご教示をお願い申し上げたい次第です。


追記

接続先へのアドレスとポートを通過したパケットは、まず最初にどこにたどり着くのか。それがrootならば、やはり一旦はrootでログインしなければならないと思います。それがhomeなら、ユーザー名でいけるかもしれないと思います。


クライアント側のログにばかり気を取られていて、サーバー側のログを確認する、という事に気がつかなかった事が原因でした。

ちゃんとサーバー側のログに詳細が書かれておりました。

ログが教えてくれた通りにやれば、あともう少しでやれると思います。

何度やっても、やはり試す時はいつも、勇気が必要です。

自己解決とさせて頂きたい次第です。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

sshd_configのログレベルがINFO(つまりデフォルト)でも、質問の操作(鍵無効にして失敗させた後、パスワード入力3回失敗)で以下のログがauth.logに残りました

日時 サーバ名 sshd[xxxxx]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=IPアドレス user=アカウント名 日時 サーバ名 sshd[xxxxx]: Failed password for アカウント名 from IPアドレス port ポート番号 ssh2 日時 サーバ名 sshd[xxxxx]: message repeated 2 times: [ Failed password for アカウント名 from IPアドレス port ポート番号 ssh2] 日時 サーバ名 sshd[xxxxx]: Connection closed by authenticating user アカウント名 IPアドレス port ポート番号 [preauth] 日時 サーバ名 sshd[xxxxx]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=IPアドレス user=アカウント名

Auth.logがデバッグレベルのログを残してくれない。ただ、Session opend、Session closedばかりしか吐いてくれないのでは、エラーの詳細が解らない。

を信じると、単に別のサーバに繋ぎにいっているだけでは? と思えます


追記

ユーザ名が間違っているなら

日時 サーバ名 sshd[xxxxx]: Invalid user アカウント名 from IPアドレス port ポート番号

が残ったはずなので

投稿2024/02/21 09:52

編集2024/02/21 09:55
quickquip

総合スコア11235

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

EveryoneCanEat

2024/02/21 10:19

ご教示、誠にありがとうございます。自分にも、Authentication failureのエラーが出ました。 ユーザー名は間違っていない、ありがとうございます。
guest

0

自己解決

申し訳ありません。自己解決と致します。
悪意のある人が誰でもssh接続が出来るようになったら困る為、そういう要の部分は、ブラックボックス的な記事の書き方になってしまうと思います。そして、「自分で調べたり、考えたりしてもダメなら、無理なんじゃないの?」と言われてしまうのがこの世界だと思います。

だだ、chmod600とか700とか、意味が解っていて設定するのと、ただ人の真似をして設定するのとでは、全然違いますよね。ちゃんと自分で調べて考えて理解しなければ、たとえその場は一時しのげたとしても、この世界ではやってゆくのは難しい場合が多いと思います。

自分もちょっと根性が足りなかったです。調べ方も全然、足りなかったですし、焦りもありました。ちゃんと落ち着いて考えれば解る事が、慌てていて抜けてしまったり、解らなくなる事もある。

ご観覧、ありがとうございました。なんか、掴めた感じです。この道を進む者は、全ての希望を捨てよ。という記事がありましたが、本当にそんな感じだと思います。
お互いに、同士として精進致したい次第です。

投稿2024/02/21 09:26

EveryoneCanEat

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2024/02/21 12:41 編集

回答には、どうやって解決したのかを書いていただきたいです。解決事例をみんなが共有することで将来おなじような問題にぶつかった人の役に立つこと期待するからこそ、みんな無償なのにコメントや回答をするのです。
EveryoneCanEat

2024/02/21 10:22

ご教示、誠にありがとうございます。 正しい考え方だと思います。 まだ試していない為、結果を申し上げる事は出来ませんが、一刻も早く解決する為、試行錯誤致してみます。
EveryoneCanEat

2024/02/21 11:43

サーバー側のログを読む事に気付きました。ログを読んで、調べたりで、少し時間がかかるかもしれません。まだ調べ足りない事も多々、ございます。
y_waiwai

2024/02/22 00:52

自己解決とするなら、自己回答を解決済としましょう
EveryoneCanEat

2024/02/22 01:03

ご教示、誠にありがとうございます! ベストアンサーです。
guest

0

sshコマンドのオプションに -vvv を加えると詳細なログが表示されますよ。

AuthorizedKeysFile home/<クライアントユーザー名>/.ssh/Authorized_keys

この設定は一般的ではありません。 通常このようなファイルは無いはずなので。
この設定は 「.ssh/authorized_keys」にすべきと思います。

まずはサーバーに接続する為のパスワードを聞かれ、3回入力後、今度はサーバーマシンのパスワードを聞かれて、一度入力したらPermission Deniedを吐いてまたサーバーマシンのパスワードを聞かれるが、すぐにConnection closedでセッションが切れる。

このときのログを貼ると情報が得やすいと思います。 「3回入力」というのは見たことがありません。

クライアントユーザ、サーバーユーザというのが出てきますが、クライアントからサーバへのログインのときのユーザはサーバユーザですか?

投稿2024/02/21 07:49

TakaiY

総合スコア13788

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

EveryoneCanEat

2024/02/21 08:19

ご教示、誠にありがとうございます。ssh接続試行の際、-vvvでのログも確認致しましたがやはり、すぐにConnection closedになってしまい、問題の特定が出来ておりません。 おっしゃる通り、ユーザーや権限、パーミッションにつきまして、試行錯誤を致しており、自分でも考えたり調べたり致しておりますが、やはりそこが問題なのではないか、と思います。
EveryoneCanEat

2024/02/21 08:23

クライアントユーザー名を、サーバー側にもusermod等で同じ名前を追加致しております。それなら繋がるのではないか、と思いました。 やはり、セキュリティの問題があるにしても、rootでログインするしかないのでしょうか。
TakaiY

2024/02/21 12:49

rootユーザならログインできるんですか? そこ重要な情報 です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問