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が初めてなので、何かを見落としているかもしれません。
昨夜、個人のインスタンスに入るために、キーペアを600に変更しました。
そして、これはそうあるべき方法です。
EC2ドキュメント we have」からあなただけが読めるように。」AmazonのドキュメントへのリンクにリンクするPandaのドキュメントですが、それがどれほど重要かは実際には伝えていません。
キーペアファイルはパスワードのようなものであり、保護する必要があるという考え方です。したがって、使用しているsshクライアントでは、これらのファイルを保護し、アカウントのみがそれらを読み取ることができる必要があります。
ディレクトリを700に設定すれば十分ですが、ファイルが600である限り777でも問題はありません。
発生している問題はクライアント側にあるため、フォローアップの質問には必ずローカルOS情報を含めてください!
秘密鍵ファイルを含むディレクトリが7に設定されていることを確認してください
chmod 700 ~/.ec2
これを修正するには、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
これにより、バックアップと実行が可能になります。
秘密鍵ファイルは保護する必要があります。私の場合、私は長い間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
私も同じ問題を抱えていましたが、キーファイルのアクセス許可を600に変更して修正しました。
Sudo chmod 600 /path/to/my/key.pem
リンク: http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/
秘密鍵、公開鍵、known_hostsを同じディレクトリに保存し、次のようにログインしてみてください。
ssh -I(small i) "hi.pem" ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
cd /Users/prince/Desktop
。 ls
コマンドを入力すると、**.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接続できます。
Windowsでは、git bashを使用して、そこでLinuxコマンドを使用してみてください。簡単なアプローチ
chmod 400 *****.pem
ssh -i "******.pem" [email protected]
これにつまずく人のためのちょうどノート:
共有されたキーを使用してSSHしようとしている場合、たとえば:
ssh -i /path/to/keyfile.pem user@some-Host
keyfile.pem
はあなたと共有されている秘密/公開鍵であり、接続に使用しています~/.ssh/
とchmod 777
に保存してください。
私のマシンの他の場所に保存されたファイルを使用しようとすると、OPのエラーが発生しました。それが直接関連しているかどうかはわかりません。
Chmodコマンドを使用してファイルのアクセス許可を変更する
Sudo chmod 700 keyfile.pem
存在しない別のユーザー名でログインしようとすると、これが表示されるメッセージです。
だから、ec2-userでsshしようとしているのかもしれないと思いますが、最近、例えばほとんどのcentos AMIがec2-userの代わりにcentos userを使用していることを思い出します
ssh -i file.pem centos@public_IP
である場合、適切なユーザー名でsshを実行しようとしていることを教えてください。ペム