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

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

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

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

SSH

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

Q&A

解決済

1回答

342閲覧

SSHに秘密鍵を渡さずにログインできてしまう

chapin

総合スコア80

CentOS

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

SSH

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

0グッド

0クリップ

投稿2019/04/20 11:48

環境
centos7
open-ssh

https://teratail.com/questions/39649
こちらの方と同じ現象がおきました。
簡潔に言うと、ssh接続において秘密鍵を渡すこともせず(-iオプションを使わず)ログインできてしまいます。
コマンドは以下のとおりです。

ssh -p ***** chapin@***.***.***.***

先程のリンク先に以下のようなアドバイスが有りました。

まずは ssh -v username@hostname でログインした場合の出力を確認すると良いと思います。

例えば、途中に
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
と出力されていればこの4つの認証方式が利用できる状態であることが分かります。
さらにその後
debug1: Authentication succeeded (publickey).
と出力されていれば成功時の認証方式は公開鍵認証 (publickey) であることが分かります。

自分がssh -v -p ***** chapin@..***.***を行ってみたところ
debug1: Authentication succeeded (publickey).
と表示されました。

これはsshに秘密鍵を使って接続できたと判断してよろしいのですよね?
いろんな方のブログなど見ると-i オプションを使ってるので自分だけ特別な状況なのでしょうか?
サーバーのセキュリティ関係は重要だと思われるので質問させていただきました。よろしくおねがいします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

デフォルトのパス($HOME/.ssh/id_rsa あるいは $HOME/.ssh/id_dsa)に秘密鍵ファイルが存在し、使われているのではないでしょうか。

投稿2019/04/20 12:02

iwamot

総合スコア1154

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

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

chapin

2019/04/20 13:42

ご回答有り難うございます。 echo $PATH このコマンドでパスを確認してみました。 /anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin これがローカルのパスなようです。こちらには$HOME/.ssh/id_rsaというパスは存在していません。書いてて気づいてのですが、$HOME/.sshのディレクトリに秘密の鍵があれば、別段-iオプションを使わなくても秘密の鍵を自動的に渡してくれるということでしょうか? ちなみに、秘密の鍵はご回答くださった$HOME/.sshに存在しています。
iwamot

2019/04/20 13:46

$PATH とは関係なく「実行ユーザのホームディレクトリ/.ssh」に id_rsa や id_dsa が存在したら、明示的に指定しなくてもそれが使われるという意味です。
chapin

2019/04/20 13:51

ご丁寧にありがとうございます。やっと納得することができました。 自分用のサーバーでも秘密の鍵を使わず認証できていたと認識していたので、今回他人用のものを作るので気がかりでした。この度はありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問