🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
SSH

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

3回答

4729閲覧

scpコマンドを実行するとPermission denied でアップロードできない

begenner

総合スコア80

SSH

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/03/08 12:45

現在AWS(amazon linux2)にRailsアプリをデプロイして動作させようとしています。
master.keyファイルをローカルの端末(Mac)からサーバー(EC2)側へアップロードしたいです。
アップロードするためにローカル(Mac)のterminalから
scp -i ~/.ssh/my_keypair.pem master.key myec2User@www.xx.yyy.zzz:/var/www/rails/mywebapp/config/master.key
を実行しました。
しかし
myec2User@www.xx.yyy.zzz: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
と表示されEC2にアップロードすることができません。(m_ m)
もしわかる方がいらっしゃればご教授いただきますようよろしくお願いいたします(m
_m)

動作環境

RailsAWS
Ruby: 2.7.2Amazon linux2
Rails: 6.0.3.5EC2
-RDS(MySQL)

エラー内容

Macのコンソール上でコマンド
scp -i ~/.ssh/my_keypair.pem master.key myec2User@www.xx.yyy.zzz:/var/www/rails/mywebapp/config/master.key
を実行するとMacのコンソール上で
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
と表示されEC2側へファイルがアップロードできていません。

期待する動作

master.keyなどの特定のファイルをローカル(Mac)からサーバー側(EC2)にアップロードできること。

参考にしたサイト

上記のサイトを参考にしてcat /var/log/secureコマンドを実行すると次のように表示されました。

bash

1$ sudo cat /var/log/secure 2Mar 8 12:14:13 ip-10-0-0-219 sshd[1380]: error: AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys myec2User SHA256:AcgVmSa0YjK6GKRLyLRYqDXGOb9qRMDFOgEMzuanmNc failed, status 22 3Mar 8 12:14:13 ip-10-0-0-219 sshd[1380]: Connection closed by 211.1.206.206 port 52155 [preauth]

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

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

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

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

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

t_obara

2021/03/08 16:25

そもそもそのキー「my_keypair.pem」でsshログインできますか?
yu_1985

2021/03/09 01:53

「my_keypair.pemでsshログインできるか」とは、「my_keypair.pemを用いてscpで指定しているユーザ(myec2User)でsshログインできるか」ということだと思うのですが、たしかにそれができる、ということでよいでしょうか?
begenner

2021/03/09 04:51

> yu_1985さん 私が試してできたのは、単純にmyec2Userとしてsshでログインできることであってscpを使用したコマンドではうまくできていません(m_ _m)
yu_1985

2021/03/09 06:28

それができればscpもできるはずですが…。 メッセージの内容的にディレクトリに対する書き込み権限の問題ではなく、sshログイン周りのエラーなんですよね。 鍵のパスや対象のEC2インスタンスのIPはたしかに正しいですか? sshに成功したときのコマンドも試しに貼ってみてください。
begenner

2021/03/09 06:37

コマンドは単純になりますが、 ssh {作成した鍵} になります。
yu_1985

2021/03/09 06:46

それではうまくいくはずがないのですが…。 言葉での記述ではなく、scpのときと同様に具体的なコマンドと出力結果まで貼ってください。
begenner

2021/03/09 06:48

本当にそのまま貼ると下記のようになります。 scp -i ~/.ssh/heasecook_keypair.pem master.key toshi@ec2-54-168-231-127.ap-northeast-1.compute.amazonaws.com:/var/www/rails/app_for_job_change/config/master.key toshi@ec2-54-168-231-127.ap-northeast-1.compute.amazonaws.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
yu_1985

2021/03/09 06:54

貼ってほしいのはsshに成功したコマンドです。 scpのほうもだいぶ実際のコマンドとは違ったんですね。あまり元のコマンドと変えるとどこが間違っているのかわからなくなるので、ホストの部分(必要があればユーザなども)をマスクする程度にしておいてください。
begenner

2021/03/09 06:57

了解しました、アドバイスいただきありがとうございます。 sshコマンドで接続したときに使用したコマンドは下記になります。 ssh heasecook-aws
yu_1985

2021/03/09 07:07

それは「作成した鍵」ではないですね。 それでうまくいくということは~/.ssh/configに何らかの設定がしてあるということです。 ~/.ssh/configの設定はどうなっていますか?
begenner

2021/03/09 07:25 編集

GitHubの記述を省いた内容は下記になります。 Host heasecook-aws Hostname www.xxx.yyy.zzz Port 22 User myUser IdentityFile ~/.ssh/heasecook-aws
guest

回答3

0

エラーなどでググると良いかと思いますが、例えば、以下のページを参考にしてみてはいかがでしょうか。

https://qiita.com/comefigo/items/e500dc53217b8b55260e

投稿2021/03/09 01:34

t_obara

総合スコア5488

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

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

begenner

2021/03/09 02:02

sshd_configを修正する方法でやってみようと思ったのですが、ec2上の /etc/ssh/sshd_config にはなんの記述もありません。 これはおかしな状況でしょうか?
t_obara

2021/03/09 02:46

sudoなどを利用してroot権限で参照していますか?
begenner

2021/03/09 04:49

myec2User@ip-10-0-0-219:~$vi /etc/ssh/sshd_config といった感じでコマンドを撃ちました...
t_obara

2021/03/09 05:00

sudo vi /etc/ssh/sshd_config で試してみてください。 通常、権限がない場合、内容が見れません。
begenner

2021/03/09 06:43

sudo vi /etc/ssh/sshd_config で内容を見て編集することができました。 ただ相変わらずアップロードできない状態です。 エラー内容も変わっていません。 EC2インスタンスに付与される IPv4パブリックIP(www.xxx.yyy.zzz)の部分をパブリックDNSに変更してもダメでした(m_ _m)
guest

0

ベストアンサー

-iオプションで指定する鍵名が間違っています。
ご自分で~/.ssh/configに設定した鍵名をよく確認してscpのオプションで指定してください。

あるいは、せっかく~/.ssh/configに接続情報を定義済みなのだから下記のようにすればいいでしょう。

bash

1scp master.key heasecook-aws:/var/www/rails/app_for_job_change/config/master.key

参考
scpで.ssh/configに登録しているhostを使う EC2ファイル編

投稿2021/03/09 07:12

編集2021/03/09 07:15
yu_1985

総合スコア7588

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

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

begenner

2021/03/09 07:24

丁寧に、粘り強く教えていただきありがとうございます!! おかげさまでアップロードすることができました!! ありがとうございます!!
yu_1985

2021/03/09 07:32

ちょっと補足をすると、今回の問題は「うまく行った方法とやり方を変えたこと」でした。 質問の段階ではそれが読み取れないため、結果それだけで有効な回答を得るに至っていません。 sshでうまく行った接続方法は~/.ssh/configのものという説明は質問時にはありませんでしたし、scpのコマンドも実際のものとは少し違っていました。 説明をする際に不要と思って削除してしまった部分が実は必要な情報であるということは往々にしてあることなので、見分けがつかないうちはプライベートな情報(ホスト名やパスワード、キー情報など)をマスクしてそれ以外は極力情報を出すようにしてください。 また、あるときはうまく行ったのにその後同じようにやってみたらうまく行かない、というときに見るべきは何か変わった条件はないかということです。 今回であれば、sshのときとオプション指定の仕方が異なるのでどこか指定を間違えている部分がないかを疑うべきでした。 このように考えると自身でもトラブルシュートもスムーズに行きますし、もし途中で詰まっても何をしてどこがうまく行かなかったかが明確になり回答を得やすくなります。 今後意識してみてください。
begenner

2021/03/09 07:37

ありがとうございます!!今後に活かさせていただきます!!
guest

0

Permission denied (publickey

というのは接続鍵が間違っている、あるいはその設定が間違っている場合に出ます。
そこらへん見直してみましょう

投稿2021/03/08 14:24

y_waiwai

総合スコア88038

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問