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

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

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

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

1回答

1869閲覧

VPS間のディレクトリの転送について

rookie

総合スコア26

CentOS

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

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2016/12/15 09:06

ご質問を見て頂きありがとうございます。

早速ですが表題の件について質問です。

現在さくらVPSを使用して、サーバー構築の勉強をしているところです。

そこでVPS間のディレクトリの転送を行おうとしているのですが、
scpコマンドを使用してもエラーが吐き出されてしまいます。

ネットで調べてコマンドは間違っていないと思うのですが、
どこか間違っている点がありましたら教えてください。

VPSを2つ使用しておりますので、
1つを"VPS1"
もう1つを"VPS2"と言わせて頂きます。

現在VPS1に入っているディレクトリ"A"を
VPS2に転送(またはコピー)したいと考えております。

VPS1をターミナルで開き、

# scp -rP ポート番号 A VPS2ユーザー名@VPS2のIPアドレス:/var/www

と入力して転送しようとしたのですが、

Permission denied (publickey,gssapi-keyex,gssapi-with-mic). lost connection

このように出来てました。

権限に問題がとは思うのですが、
どこの権限が問題なのかさっぱり分かりません。

この方法が間違っているのでしょうか。

どうかご教授お願いします。

※ちなみに転送はroot権限を持つユーザーでしております。

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

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

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

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

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

guest

回答1

0

ベストアンサー

そのエラーメッセージはSSHの鍵認証が失敗したメッセージです。
なので、scpだけでなくおそらくssh -p ポート番号 VPS2ユーザー名@VPS2のIPアドレスも失敗するはずです。

鍵認証用にVPS1側のrootユーザーに秘密鍵、VPS2側のVPS2ユーザーに公開鍵は配置されましたでしょうか。

投稿2016/12/15 09:29

yunano

総合スコア841

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

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

rookie

2016/12/16 00:47

ご回答ありがとうございます。 そういうことだったのですね。 確かにVPS1からVPS2にログインしようとすると失敗します。 PCからなら可能です。 VPS1側で秘密鍵と公開鍵を作成 VPS2に送ろうとしたのですが、 Permission denied (publickey,gssapi-keyex,gssapi-with-mic). lost connection このエラーが吐き出されます こういった場合PCから送った公開鍵と秘密鍵を一度削除して、 転送した後に再度設定をやり直す方がいいのでしょうか?
yunano

2016/12/16 01:24

直接VPS1からVPS2に鍵を渡すことは難しいと思いますので(これはVPS2のSSHサーバが鍵認証のみで認証する設定になっているのに、その鍵をscpできないからです)、一旦公開鍵をVPS1からPCに送り、さらにPCからVPS2に送るのが良いと思います。 たぶんPCからの公開鍵は`cat id_rsa.pub >> authorized_keys`とかで /home/VPS2ユーザー名/.ssh/authorized_keys へ書き込まれたのではないかと思いますが、 /home/VPS2ユーザー名/.ssh/authorized_keys への書き込みが終わっていればもはや必要ではありません(他の用途に使っていなければ)。 逆に言えばVPS1からの公開鍵はファイル名をid_rsa_VPS1.pubとかにしておけば特にPCからのを消す必要もありません。 VPS1からの公開鍵を /home/VPS2ユーザー名/.ssh/id_rsa_VPS1.pub とした場合、 `cd /home/VPS2ユーザー名/.ssh`の後`cat id_rsa_VPS1.pub >> authorized_keys`でVPS1の鍵も有効になり、PCからもVPS1からもログインできるようになるでしょう。
rookie

2016/12/16 05:08

ディレクトリの転送がダメなのと同じという事ですね。 教えて頂いた通りしてみましたが、 VPS1側で scp ~/.ssh/id_rsa.pub ~/Desktop/ として反応しないまま終わってしまいます。 なのでVPS1のid_rsa.pubの中身をコピーして、 VPS2のauthorized_keysにペーストしたら転送が出来ました。 細かく説明して頂きありがとうございました! また質問ありましたら、よろしくおねがいいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問