web-dev-qa-db-ja.com

警告:保護されていないプライベートキーファイル! Amazon EC2インスタンスにSSHしようとするとき

Amazon EC2インスタンスでPandaをセットアップする作業をしています。昨夜、アカウントとツールをセットアップし、SSHを使用して自分の個人インスタンスと対話することに問題はありませんでしたが、現在、PandaのEC2インスタンスへのアクセス許可はありません。 Pandaを始めよう

次のエラーが表示されます。

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

昨夜、個人のインスタンスに入るためにキーペアを600に変更し、アクセス許可を0に設定し、新しいキー文字列を生成することを試してみましたが、何も機能していないようです。

どんな助けでも大助かりです!


うーん、ディレクトリのアクセス許可が777に設定されていない限り、ec2-run-instancesスクリプトはキーファイルを見つけることができません。私はSSHが初めてなので、何かを見落としているかもしれません。

166
btw

昨夜、個人のインスタンスに入るために、キーペアを600に変更しました。

そして、これはそうあるべき方法です。

EC2ドキュメント we have」からあなただけが読めるように。」AmazonのドキュメントへのリンクにリンクするPandaのドキュメントですが、それがどれほど重要かは実際には伝えていません。

キーペアファイルはパスワードのようなものであり、保護する必要があるという考え方です。したがって、使用しているsshクライアントでは、これらのファイルを保護し、アカウントのみがそれらを読み取ることができる必要があります。

ディレクトリを700に設定すれば十分ですが、ファイルが600である限り777でも問題はありません。

発生している問題はクライアント側にあるため、フォローアップの質問には必ずローカルOS情報を含めてください!

193
Stu Thompson

秘密鍵ファイルを含むディレクトリが7に設定されていることを確認してください

chmod 700 ~/.ec2
50
Mark Biek

これを修正するには、1)アクセス許可をデフォルトにリセットする必要があります。

Sudo chmod 600 ~/.ssh/id_rsa Sudo chmod 600 ~/.ssh/id_rsa.pub

別のエラーが表示される場合:接続を続行してもよろしいですか(はい/いいえ)? yes既知のホストのリスト(/home/geek/.ssh/known_hosts)にホストを追加できませんでした。

2)これは、そのファイルのアクセス許可も正しく設定されていないことを意味し、これで調整できます。

Sudo chmod 644 ~/.ssh/known_hosts

3)最後に、ディレクトリのアクセス許可も調整する必要がある場合があります。

Sudo chmod 755 ~/.ssh

これにより、バックアップと実行が可能になります。

28
Alena

秘密鍵ファイルは保護する必要があります。私の場合、私は長い間public_key認証を使用しており、プライベートキーと644(rw- r-- r--)の600(rw- --- ---)とホームフォルダーの.sshフォルダーには、700のアクセス許可があります(rwx --- ---)。これを設定するには、ユーザーのホームフォルダーに移動し、次のコマンドを実行します


。sshフォルダーに7権限を設定します

chmod 700 .ssh


秘密鍵ファイルの6パーミッションを設定します

chmod 600 .ssh/id_rsa


Set 644公開鍵ファイルの許可

chmod 644 .ssh/id_rsa.pub
13

私も同じ問題を抱えていましたが、キーファイルのアクセス許可を600に変更して修正しました。

Sudo chmod 600 /path/to/my/key.pem

リンク: http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/

4
ANAND SONI

秘密鍵、公開鍵、known_hostsを同じディレクトリに保存し、次のようにログインしてみてください。

ssh -I(small i) "hi.pem" ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
  • ある意味で同じディレクトリ、cd /Users/prince/Desktoplsコマンドを入力すると、**.pem **.ppk known_hostsが表示されます

注:同じディレクトリからログインしようとするか、現在のディレクトリから.pemファイルを見つけることができないため、アクセス許可拒否エラーが表示されます。


任意のディレクトリからSSHを使用できるようにする場合は、次を~/.ssh/configファイルに追加できます...

Host your.server
HostName ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ec2/id_rsa-gsg-keypair
IdentitiesOnly yes

これで、ssh your.server(または「ホスト」の後に付ける名前)を入力するだけで、ディレクトリの場所に関係なくサーバーにSSH接続できます。

2
Prince Charu

Windowsでは、git bashを使用して、そこでLinuxコマンドを使用してみてください。簡単なアプローチ

chmod 400 *****.pem

ssh -i "******.pem" [email protected]
1
Dheeraj

これにつまずく人のためのちょうどノート:

共有されたキーを使用してSSHしようとしている場合、たとえば:

ssh -i /path/to/keyfile.pem user@some-Host

keyfile.pemはあなたと共有されている秘密/公開鍵であり、接続に使用しています~/.ssh/chmod 777に保存してください。

私のマシンの他の場所に保存されたファイルを使用しようとすると、OPのエラーが発生しました。それが直接関連しているかどうかはわかりません。

0
Kubie

Chmodコマンドを使用してファイルのアクセス許可を変更する

Sudo chmod 700 keyfile.pem
0
Greenkraftz

存在しない別のユーザー名でログインしようとすると、これが表示されるメッセージです。

だから、ec2-userでsshしようとしているのかもしれないと思いますが、最近、例えばほとんどのcentos AMIがec2-userの代わりにcentos userを使用していることを思い出します

ssh -i file.pem centos@public_IPである場合、適切なユーザー名でsshを実行しようとしていることを教えてください。ペム

0
Abdel Hegazi