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

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

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

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

3回答

25146閲覧

scpでpermission deniedが解決できない

n_thk72

総合スコア19

SSH

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

1クリップ

投稿2020/09/10 04:59

scpコマンドを使いローカルからリモートサーバーにファイルのアップロードを試みていますが,Permission deniedで詰まっています.

○やりたいこと
ローカルにあるoptフォルダをリモートサーバにアップロードしたい

scp -r opt user@----:/home/user

結果

Permission denied (publickey). lost connection

○調べたこと
scpで踏み台サーバーに秘密鍵をコピーするのに躓く
SSH で Permission Denied となる傾向と対策
scpコマンドを使いローカルからリモートサーバーにアップロードする。
Mac・Linuxでのファイル転送

○分かったこと
・リモートサーバーのhome/user/.sshに公開鍵(秘密鍵?)が存在している必要がある
・リモートサーバーのパーミッションが適切に設定されている必要がある

公開鍵認証する場合、接続先のサーバで所有者とパーミッションが適切に設定されていることを確認します。

/home/user/.ssh は 0700
/home/user/.ssh/authorized_keys は 0600
にします。パーミッションに過不足があるとエラーになることがあります。

(「scpで踏み台サーバーに秘密鍵をコピーするのに躓く」より)

○試したこと
・接続に使用する鍵を指定して実行

scp -i ~/.ssh/authorized_keys -r opt user@----:/home/user

結果

Enter passphrase for key '/home/user/.ssh/authorized_keys': Permission denied (publickey). lost connection

Permission denied…

・chmodで権限を変更して実行

chmod 700 .ssh chmod 600 .ssh/authorized_keys

結果

scp -i ~/.ssh/authorized_keys -r opt user@----:/home/user Enter passphrase for key '/home/user/.ssh/authorized_keys': Permission denied (publickey). lost connection

ダメでした…
対処法ご存知の方教えていただけますと幸いです.
よろしくお願い致します.

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

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

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

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

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

hentaiman

2020/09/10 05:36

サーバーはレンタルサーバーではなく自分でsshd建てたサーバーですか?
n_thk72

2020/09/10 05:37

私は大学生なのですが,所属している研究室のサーバーですのでレンタルしたものではないと思います.
hentaiman

2020/09/10 05:43

じゃあ分からないや レンタルサーバーかどうかを知りたいというより自分で管理できるかどうかを知りたかったんです 通常、うまく行かない場合の調査というのはアクセスされた側(つまりサーバー側)のログを元に調査をします。でないと予想しかできないから。 なので自分自身で管理している(sshd立てた)サーバーなら上記対応が出来るので調査方法を回答しようとしたんですが、自身で管理していないとなると上記の方法は取れないので、macで同じようなエラーが出てる人がいないかをグーグル先生で調べて対応を真似るしかできません。
n_thk72

2020/09/10 05:50

ラボの教員が管理していると思いますので,最終手段として教員にヘルプを求めようと思います.ありがとうございます.
guest

回答3

0

ファイル転送される側のホストでの
/etc/ssh/sshd_config で

PasswordAuthentication yesと
PubkeyAuthentication yes

なのを確認。

ファイルを転送する側のホストで、
下記を実行

cat .ssh/id_rsa.pub | (ssh 'cat - >> .ssh/authorized_keys')

パスワード入力する。

scpを実施してみる。
(パスフレーズの入力の有無は有るものの
※ssh-keygenの時に入れたパスフレーズ・・メモしてありますよね)
NGならssh-keygenからやり直して下さい。

OKなら

転送される側の/etc/ssh/sshd_configは
PasswordAuthentication no
にする(方が良い)

「id_rsa.pub」はssh-keygenで指定した形式のファイルに
読み替えて下さい(多分このままでいけるでしょうが・・)

投稿2020/09/10 11:20

編集2020/09/12 10:15
hana_yama_san

総合スコア923

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

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

0

Permission denied (publickey).

このメッセージは、接続鍵が間違ってるときに出ます。
そこらへん確認してみよう

投稿2020/09/10 07:11

y_waiwai

総合スコア88042

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

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

0

ベストアンサー

普通は秘密鍵のファイル名は、「~/.ssh/authorized_keys」ではないです。
ログインに必要な鍵ファイルとそのファイル配置について確認してみてください。

OpenSSHの場合、秘密鍵は「id_rsa」で公開鍵は「id_rsa.pub」というようなファイル名です。(ファイル名は暗号鍵の種類により、ほかにも何種類かあります)
秘密鍵はローカル側の「/.ssh/id_rsa」に置きます。
リモートへ公開鍵認証でログイン出来るようにするためには秘密鍵に対応する公開鍵「
/.ssh/id_rsa.pub」をリモート側の「~/.ssh/authorized_keys」の1エントリとして登録しておく必要があります。
「authorized_keys」は複数の公開鍵が登録できるようなファイル構造になっています。(1行につき公開鍵が1つ書かれたテキストファイル)

投稿2020/09/10 05:38

hidezzz

総合スコア1248

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

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

n_thk72

2020/09/10 05:50

ご回答ありがとうございます. > 「~/.ssh/id_rsa.pub」をリモート側の「~/.ssh/authorized_keys」の1エントリとして登録しておく必要があります。 こちらについてさらに詳しく伺っても良いでしょうか?登録の方法,確認方法を伺いたいと思います. 現状としては, cat .ssh/authorized_keys でファイル内容を確認したところ,id_rsaとid_rsa.pubの内容が表示されます.
hidezzz

2020/09/10 06:42

cat .ssh/authorized_keys でファイル内容を確認したところ,id_rsaとid_rsa.pubの内容が表示されます. authorized_keysの中にid_rsaの内容が入っているのはおかしいです。 authozized_keysの中にid_rsa.pubと同じものが1行だけ入っている状態がとりあえず正しいです。(authorized_keysの中には複数の公開鍵を必要数だけ入れることが出来ます。1行に1つ公開鍵の内容を入れたような形式になります。) もしパスワード認証が有効になっているのであれば「ssh-copy-id」コマンドを使ってローカル側から「ssh-copy-id -f -i ~/.ssh/id_rsa.pub (リモードホスト名)」として上記authorized_keysへの登録が出来ます。有効になっていないのであれば別ルートで公開鍵をリモートマシンへコピーする必要があります。 これで入れないのなら~/.ssh関連のファイルやディレクトリのパーミッションの確認をしてみてください。(パーミッションが厳しすぎてもゆるすぎても認証に失敗します。)
n_thk72

2020/09/10 07:37

authorized_keysの内容を変更し,id_rsa.pubのみ登録されている状態(id_rsa.pubと同じ内容のファイルで名前だけ違う状態)としました.が,何も変わりませんでした…. scp -i .ssh/authorized_keys -r opt user@-----:/home/user/ Enter passphrase for key '.ssh/authorized_keys': と進んだのですが,ここで入力するパスワードは鍵を生成する際に入力したパスワードで合っているでしょうか? だとするなら,やはりPermission deniedとなってしまいます….
hidezzz

2020/09/10 08:11 編集

> scp -i .ssh/authorized_keys -r opt user@-----:/home/user/ 秘密鍵を明示的に指定するのならば秘密鍵は 「~/.ssh/id_rsa」なので、 $ scp -i ~/.ssh/id_rsa -r opt user@-----:/home/user/ となると思います。 通常は「-i」を省略した場合、デフォルトでid_rsaの照合はされるので $ scp -r opt user@-----:/home/user/ でいけるはずです。
n_thk72

2020/09/10 08:23

$ scp -i ~/.ssh/id_rsa -r opt user@-----:/home/user/ と入力すると, Warning: Identity file /home/user/.ssh/id_rsa not accessible: No such file or directory. Permission denied (publickey). lost connection と出力されます.リモートのディレクトリにid_rsaファイルをコピーしておく必要があると言うことでしょうか? ちなみに,-iを省略したものを入力とすると, Permission denied (publickey). lost connection となります.
hidezzz

2020/09/10 08:55

鍵ペアを作る手順から見直したほうが良いと思います。 ちなみに、自分の手元の環境では次のようなファイルが配置されています。 右側に「←」で記述したのが少なくとも存在すると思われるファイルです。 ローカル側 $ls -la ~/.ssh 合計 44 drwx------ 2 hidezzz hidezzz 4096 6月 2 00:22 . ←.sshディレクトリのオーナーとパーミッションの確認 drwxr-xr-x 52 hidezzz hidezzz 4096 9月 10 17:42 .. -rw-r--r-- 1 hidezzz hidezzz 4967 4月 10 20:29 authorized_keys -rw-r--r-- 1 hidezzz hidezzz 229 6月 2 00:22 config -rw------- 1 hidezzz hidezzz 1766 5月 15 2019 id_rsa ←秘密鍵が必要 -rw-r--r-- 1 hidezzz hidezzz 381 6月 28 2019 id_rsa.pub ←鍵ペアを作る際に一緒に作られるはず -rw------- 1 hidezzz hidezzz 5994 8月 26 03:24 known_hosts -rw------- 1 hidezzz hidezzz 5720 6月 1 00:37 known_hosts.old リモート側 $ ls -la ~/.ssh total 40 drwx------ 2 hidezzz hidezzz 4096 Jun 28 2019 . ←.sshディレクトリのオーナーとパーミッションの確認 drwxr-xr-x 28 hidezzz hidezzz 4096 Sep 10 17:45 .. -rw-r--r-- 1 hidezzz hidezzz 20571 Dec 31 2019 authorized_keys ←ローカル側の公開鍵が登録されている必要がある -rw-r--r-- 1 hidezzz hidezzz 208 Jun 28 2019 config -rw-r--r-- 1 hidezzz hidezzz 1300 May 9 2015 known_hosts
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問