Help us understand the problem. What is going on with this article?

XserverにSSHでログインしてscpで管理する

More than 1 year has passed since last update.

FTPやFTPSでファイルをアップロード/ダウンロードするのはセキュリティ面からよろしくないということで、SSHでserverにログインしてgitでデータの取得をしたいのでその手順です。

環境

  • サーバはレンタルサーバーの「Xserver」
  • Macのteminal

手順

Xserverの公式サイト「SSH設定」で記載されているようにSSHでserverにログインするには「公開鍵」を自分で生成するか、サーバー上で「公開鍵認証用鍵ペア」を生成するかのどちらかになります。

お客様にて生成の公開鍵を登録していただく方法と、サーバー上で公開鍵認証用鍵ペアを生成し秘密鍵をダウンロードしていただく方法がありますので、下記をご参照の上、生成または登録を行ってください。

SSH設定をONにする

  • Xserverのサーバーパネルにログイン
  • SSH設定でSSH設定をONにする

公開鍵認証用鍵ペアの生成

  1. XserverのSSH設定で公開鍵認証用鍵ペアの生成タブを選ぶ
  2. パスフレーズを入力する
  3. {サーバーID}.keyをダウンロード
  4. homeディレクトリの.sshにダウンロードしたkeyファイルを格納
  5. keyファイルのパーミッションを600に設定
  6. サーバーにログイン
パーミッションを600に設定
$ chmod 600 {サーバーID}.key
サーバーにログイン
$ ssh -i ~/.ssh/{サーバーID}.key -p 10022 {サーバーID}@{サーバー番号}.xserver.jp

公開鍵を登録

  1. terminalで秘密鍵と公開鍵を生成
  2. パスフレーズを設定
  3. homeディレクトリの.sshhoge_rsahoge_rsa.pubを格納
  4. hoge_rsahoge_rsa.pubのパーミッションを600にする
  5. XserverのSSH設定で公開鍵登録・設定タブを選ぶ
  6. hoge_rsa.pubの中身を貼付 サーバーにログイン
秘密鍵と公開鍵を生成
$ ssh-keygen -t rsa -f hoge_rsa
パーミッションを600に設定
$ chmod 600 hoge_rsa
サーバーにログイン
$ ssh -i ~/.ssh/hoge_rsa -p 10022 {サーバーID}@{サーバー番号}.xserver.jp

gitが使えれば

「Xserver」はレンタルサーバー(共有サーバー)なのでgitが入ってないのですが、gitが使えればSSHでログインしてgit cloneでremoteのデータを取得、git pullで本番サイトを更新などをすることができます。

scpでサーバー/ローカルのデータをコピー

サーバーのファイルをローカルにコピー

秘密鍵でserverにログイン
$ scp -i ~/.ssh/{秘密鍵名}_rsa -P 10022 {サーバーID}@{サーバー番号}.xserver.jp:{サーバーのpath}/test.txt {ローカルのpath}

ローカルのファイルをサーバーにコピー

秘密鍵でserverにログイン
$ scp -i ~/.ssh/{秘密鍵名}_rsa -P 10022 {ローカルのpath}/test.txt {サーバーID}@{サーバー番号}.xserver.jp:{サーバーのpath}

サーバーのディレクトリをローカルにコピー

-rはディレクトリをコピーするオプション
$ scp -r -i ~/.ssh/{秘密鍵名}_rsa -P 10022 {サーバーID}@{サーバー番号}.xserver.jp:{サーバーのpath}/test {ローカルのpath}

ローカルのディレクトリをサーバーにコピー

-rはディレクトリをコピーするオプション
$ scp -r -i ~/.ssh/{秘密鍵名}_rsa -P 10022 {ローカルのpath}/test {サーバーID}@{サーバー番号}.xserver.jp:{サーバーのpath}

参考サイト

macotok
React好き
access
SDNからセンサ、家電、電子書籍まで。ACCESSはあらゆるレイヤのデバイス、サービスを「繋げて」いきます。
http://jp.access-company.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away