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

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

詳細はこちら
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

MacOS(OSX)

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

コマンド

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

Q&A

解決済

2回答

3725閲覧

SCPコマンドでファイルをローカルからサーバーに移したい

yo_pi

総合スコア7

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

MacOS(OSX)

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

コマンド

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

0グッド

0クリップ

投稿2019/12/11 17:46

前提・実現したいこと

ローカル環境(MacOS)に保存しているPHPファイルを、仮想環境(ubunts14.04.5)のフォルダにSCPコマンドを使ってコピーしたい。

PHPとMySQLを使ったプログラム(課題)を作成しようとしています。PHPの動作確認のため、
作成したファイル(read.php)をサーバーのドキュメントルート(/usr/share/nginx/html)に置く必要があると知りました。
その際に、SCPコマンドというものを使ってコピーしたいのですが、やり方が見つけられません。

いくつかのサイトで「ユーザー名」や「ホスト名」という言葉で説明があるのですが、そもそもの認識として

ユーザー名は uname -nコマンドで、
ホスト名は hostnameコマンドで表示されたもの、
IPアドレスは ipconfigコマンドで表示された、inetという欄のアドレス

で間違い無いでしょうか?

いくつかのサイトで書いてあったのですが、どのような場合にホスト名やIPアドレスが必要なのか,ファイル名を記述の仕方は何が正しいかが、
ご説明によって違っているように感じており対処方法が整理できません。

まだまだ未熟で何を調べれば良いのかを調べる力が不足していまして、
解決方法や参考になるサイトなどあれば教えていただけないでしょうか。
初投稿なのでわかりづらいとは思いますが、よろしく願いいたします。

発生している問題・エラーメッセージ

エラーメッセージ ssh: Could not resolve hostname ubuntu14: nodename nor servname provided, or not known lost connection``` ### 該当のソースコード scp Users/(私の名前)/Desktop/read.php 192.168.56.2@ubuntu14:/usr/share/nginx/html/read.php ### 試したこと(汚くてすみません) scp (ローカルのユーザー名@ローカルのホスト名) read.php (ubuntuのユーザー名@ubuntuホスト名) scp read.php ローカルのユーザー名 ubuntuのユーザー名 /usr/share/nginx/html scp read.php ubuntuのIPアドレス scp /Users/(私の名前)/Desktop/read.php ubuntuのIPアドレス/read.php (cp: 192.168.56.2/read.php: No such file or directory) scp /Users/(私の名前)/Desktop/read.php ubuntuのIPアドレス/ (cp: directory 192.168.56.2 does not exist) (※ubuntuのIPアドレスとは、info.phpをブラウザで見たときのアドレスバーの/(スラッシュ)より左の部分のことを言っています) ### 参考にしたサイト https://qiita.com/tk_daze/items/d598af988cdb8b5efb12 https://qiita.com/ritukiii/items/c724f09fe66fedf2618b https://web.kudpc.kyoto-u.ac.jp/manual/ja/login/mac_linux_scp https://webkaru.net/linux/scp-command/ etc...

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

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

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

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

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

guest

回答2

0

仮想環境へのSSHでのログインは出来るでしょうか
それが出来ないとscpは使えません。

投稿2019/12/11 23:02

y_waiwai

総合スコア88038

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

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

yo_pi

2019/12/12 10:18

ご返答ありがとうございます。 ssh (ubuntuのIPアドレス)   というコマンドを叩くと、 ssh: connect to host (ubuntuのIPアドレス) port 22: Connection refusedと表示されました。 できていないようなので、もう少し調べてみます。
y_waiwai

2019/12/12 10:23

仮想環境の構成がわかりませんが、ネットワークアダプタをブリッジアダプタにしてみてください。 ブリッジだとホストのネットワークに直接つながる形になるので、話しはかんたんになります これで接続できるようにしてみればどうでしょう
yo_pi

2019/12/12 11:48

ssh ubuntuのIPアドレス と入力することでログインできました。 現在は  scp /Users/(私の名前)Desktop/read.php ubuntuのユーザー名@ubuntuのIPアドレス:/usr/share/nginx/html/read.php と入力し、No such file or directoryと言われて解決策を探しています。 もしよければ教えていただけますか。
y_waiwai

2019/12/12 11:52

そのメッセージはそこにファイル、ディレクトリがないってことです ubuntu側にそのフォルダがないとかでは
yo_pi

2019/12/12 12:03

仮想環境の構成は VirtualBoxバージョン 6.0.14 r133895 (Qt5.6.3)に Ubuntu14.04.5 を展開した、とお答えすればよろしいでしょうか。 ネットワークのアダプター1、2があるのでそれをブリッジアダブターに変更してみます。 何分初心者なものでこういう答え方しかできなくて申し訳ございません。
yo_pi

2019/12/12 12:55

解決できました。 ・~% ssh ubuntuのIPアドレス を入力でssh接続 → chmodでusr/share/nginx/html/のパーミッションのモードを777と設定 → ~% scp /Users/(私の名前)Desktop/read.php ubuntuのユーザー名@ubuntuのIPアドレス:/usr/share/nginx/html/read.php としたことでなんとかファイルがコピーできました。 引き続き作業を続けていきたいと思います。 ご指摘ありがとうございました。
guest

0

ベストアンサー

scp コピー元 ユーザID@ホスト:コピー先

「ユーザID」はコピー先の Ubuntu のユーザ を指定してください。
「ホスト」は Ubuntuのホスト名または、IPアドレスを書いてください。

コピー先のUbuntuでは、「/usr/share/nginx/html/read.php」に書き込み権限がある必要があります。
権限がない場合は、いったん書き込み可能なディレクトリに保存してから、ssh でログインし、ファイルを移動してください。

投稿2019/12/11 18:09

take88

総合スコア1467

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

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

yo_pi

2019/12/12 11:50

ご返答ありがとうございます。 上記の方法で試したところ、エラーメッセージが変化し、 ssh: connect to host (ubuntuのIPアドレス) port 22: Connection refusedと表示されました。 他の回答者様のご指摘でもあったのですが、sshで接続ができていないようでした。 いろいろサイトを参考にして、sshログインできたと思っています。 ssh ubuntuのIPアドレス でパスワードを入力し、「ユーザーID@ホスト」がubuntuのそれに変わったのでできていると判断しました。 現在はscpコマンドを試していますが、 scp /Users/(私の名前)Desktop/read.php ubuntuのユーザー名@ubuntuのIPアドレス:/usr/share/nginx/html/read.php を実行すると No such file or directory と出て先に進めていません。 対処法を探しているのですが、見つけれられません。 ファイルの保管場所に問題があるのでしょうか。
yo_pi

2019/12/12 12:54

解決できました。 ・~% ssh ubuntuのIPアドレス を入力でssh接続 → chmodでusr/share/nginx/html/のパーミッションのモードを777と設定 → ~% scp /Users/(私の名前)Desktop/read.php ubuntuのユーザー名@ubuntuのIPアドレス:/usr/share/nginx/html/read.php としたことでなんとかファイルがコピーできました。 引き続き作業を続けていきたいと思います。 ご指摘ありがとうございました。
take88

2019/12/12 13:41

パーミッションを変更してうまくいったのですね。 それでも大丈夫ですが、一応、正式な(?)対応は次のようになると思います。 1. SCP で書き込み権限のある場所にいったんコピー(例:ホームディレクトリなど) 2. SSH でサーバーにログイン 3. 管理者権限でファイルを移動 (例: ホームディレクトリ→/usr/share/.../) scp ~/read.php ユーザ名@IPアドレス:. ←「.」でホームディレクトリになります。 ssh ユーザ名@IPアドレス <SSHでログインしたら> sudo mv read.php /usr/share/nginx/html/read.php 「sudo」は管理者権限で操作するためのコマンドです。 ここでパスワードを聞かれる場合は 現在ログインしているユーザのパスワードを入力。 ※「sudo」を使う権限がない場合は管理者権限で操作はできません。
yo_pi

2019/12/13 08:56

ご丁寧にありがとうございます。 次回は上記の方法で試してみます。 わざわざありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問