9
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

さくらVPSでCentOS7 7.sftp接続

Last updated at Posted at 2018-05-02

#はじめに

自由にテスト出来るLinuxのサーバーがほしくて、さくらVPSで構築してみました。
順次手順をアップしていく予定です。

今回は、sftpのインストール・設定をします。

#目次

  1. 申し込み
  2. CentOS7インストール
  3. SSH接続
  4. Apache・PHPインストール
  5. MariaDBインストール
  6. FTP接続
  7. sftp接続
  8. phpMyAdminインストール
  9. 環境のバックアップ
  10. Ruby On Railsインストール
  11. RailsプロジェクトをGitで共同開発

#sftp設定

sftpはSSHの仕組みを使用してファイルの受送信するプロトコルです。

接続アプリは前回のFTP接続で使ったWinSCPを利用します。

sftpは2種類のユーザ設定をしようと思います。

  1. 一般作業用ユーザにsftp設定

    現在一般作業用ユーザは、sshでの接続と、sudoの特権レベルが使えるようにしてあります。このユーザにsftp設定をします。


  1. sftp専用ユーザの設定

    sftpのみ利用できるユーザを作成します。
    アクセスできるフォルダも、/var/www/以下のみに制限します。


ユーザー sshログイン sudo権限 sftp
一般作業用
SFTP専用 × ×

##一般作業用ユーザにsftp設定

SSHの設定は出来ていますので、WinSCPの設定だけで接続できます。

###鍵認証を使った接続

SSH接続時に作成した公開鍵と秘密鍵を使って接続します。
接続アプリは前回のFTP接続で使ったWinSCPを利用します。

  • WinSCP起動


  • ログイン設定

    左側の「新しいサイト」を選択し、「セッション」を設定
    転送プロトコル:SFTP
    ホスト名: 153.126.209.124 ←ホストのIPアドレスまたはURL
    ポート番号:2022 ←SSH接続設定時に変更したポート番号
    ユーザ名:sakura
    パスワード:(不要)


  • 秘密鍵の設定

    • パスワードの下の[設定(D)…]をクリックすると、下記のダイアログが開きます。


* 左側から「認証」を選択

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/08ac5015-2b3c-9ee2-0f46-a23921964888.jpeg" width=500>

* 秘密鍵のテキストボックス右端の[…]をクリックしてファイル選択ダイアログを開き、SSH接続設定時に作成した秘密鍵の保存されたフォルダを選択します。

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/bedb31e9-f741-daac-f9ec-2a9a27ad4737.jpeg" width=500>

* 選択するファイルの種類を「すべてのファイル(\*.*)」にすると、鍵ファイルが表示されますので、「id_rsa」ファイルを選択し、[開く(O)]をクリックします。

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/e95e16b8-711d-0e6b-cb7f-b350cd2d498c.jpeg" width=545>

* 「確認」ダイアログが表示されますので、[OK]をクリックします。

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/3517fd3b-db11-543b-a9ef-370311103563.jpeg" width=500>

* 「パスフレーズの入力」ダイアログが開きますので、SSH接続設定で公開鍵・秘密鍵を作成する時に設定した「鍵のパスフレーズ」を入力し[OK]をクリックします。

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/12d15e4f-0321-d3b5-ee41-fac5824bbf6f.jpeg" width=280>

* 「変換された秘密鍵を保存」ダイアログが開きますので[保存(S)]で保存し、表示された「情報」ダイアログで[OK]をクリックします。

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/1316e16b-8f92-5877-6497-4d28d6d80841.jpeg" width=500>

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/c21903a0-0964-4bc7-a52d-9c56c73fbc74.jpeg" width=500>

* 秘密鍵のファイル名が設定されたことを確認して、[OK]をクリック。

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/ee26bbc1-a72d-dc6c-61c3-8debe189d378.jpeg" width=500>

* ログイン設定ダイアログに戻りますので[保存(S)]ボタンをクリックして保存します。

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/3da6dfa9-d974-702f-b72e-72aa8bc6e66d.jpeg" wodth=300>

* [ログイン]をクリック

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/effc617b-3cfa-ff35-5d67-38512d15f4f4.jpeg" width=500>

* 接続を確認

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/df5f0f41-054f-0a49-72f8-88d21dfd75d3.jpeg" width=500>

##sftp専用ユーザの設定

###sftp専用ユーザ作成

  • sftp専用ユーザ用グループ作成

    グループ名は「sftp_users」にします

$ sudo groupadd sftp_users


* sftp専用ユーザ作成

    ユーザ名は「sftp_only」にします

    ```
$ sudo useradd sftp_only
$ sudo passwd sftp_only
ユーザー sftp_only のパスワードを変更。
新しいパスワード: ←任意のパスワードを付ける
新しいパスワードを再入力してください: ←確認用パスワード入力
passwd: すべての認証トークンが正しく更新できました。
  • ユーザをsftp専用グループに追加

$ sudo usermod -G sftp_users sftp_only


* ユーザを「webadmin」グループに追加

    「webadmin」グループは、[Apache・PHPインストール](https://qiita.com/Qsugi/items/bf9740f31b4c42eaad91)をした時に作成したグループで、「/var/www」にアクセスできるグループです。

    ```
$ sudo usermod -a -G webadmin sftp_only
確認

```

$ groups sftp_only
sftp_only : sftp_only webadmin sftp_users


###sshd_config編集

* sftp専用ユーザに制限をかける為、sshd_configに設定を追加します。

    ```
$ sudo vi /etc/ssh/sshd_config
ファイルの最後の方に以下の設定があります。

```config

override default of no subsystems

Subsystem sftp /usr/libexec/openssh/sftp-server

Example of overriding settings on a per-user basis

#Match User anoncvs

X11Forwarding no

AllowTcpForwarding no

PermitTTY no

ForceCommand cvs server


    これを、次のように変更します。

    ```config
# override default of no subsystems
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp
#
# Chroot
# マッチしたユーザー(グループ)に以下のルールを適用
# sftp_usersグループのみルールを適用
Match group sftp_users
# ルートディレクトリの設定
ChrootDirectory /var/www
X11Forwarding no
AllowTcpForwarding no
# 実行プログラム指定
ForceCommand internal-sftp
  • SSH接続設定の再読み込み

$ sudo systemctl restart sshd


* SSH接続の動作確認

    ```
$ sudo systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 水 2018-05-02 13:02:38 JST; 3s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 10267 (sshd)
   CGroup: /system.slice/sshd.service
           mq10267 /usr/sbin/sshd -D
 5月 02 13:02:38 ik1-340-30370.vs.sakura.ne.jp systemd[1]: Starting OpenSSH ...
 5月 02 13:02:38 ik1-340-30370.vs.sakura.ne.jp sshd[10267]: Server listening...
 5月 02 13:02:38 ik1-340-30370.vs.sakura.ne.jp systemd[1]: Started OpenSSH s...
Hint: Some lines were ellipsized, use -l to show in full.

###公開鍵・秘密鍵の作成

###公開鍵のアップ

公開鍵をユーザのフォルダにアップします。

  • アップする場所を作成

$ sudo mkdir /home/sftp_only/.ssh
$ sudo chmod 700 /home/sftp_only/.ssh
$ sudo chown -R sftp_only:sftp_only /home/sftp_only/.ssh


* 公開鍵をアップ

    公開鍵をドラッグ&ドロップ

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/fa1e5dfb-0954-7c6b-7b7e-dfb69acb9735.jpeg" width=500>

    SCPに「~/」を入力して[SCP]をクリック

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/c3d0dda8-f421-d4ad-3f56-b42559ffa2c7.jpeg" width=300>
<br>


* アップしたファイルをリネーム

    ```
$ sudo mv ~/id_rsa.pub /home/sftp_only/.ssh/authorized_keys
$ sudo chmod 600 /home/sftp_only/.ssh/authorized_keys
$ sudo chown -R sftp_only:sftp_only /home/sftp_only/.ssh/authorized_keys
確認

```

$ sudo ls -la /home/sftp_only/.ssh
合計 4
drwx------ 2 sftp_only sftp_only 28 5月 2 13:44 .
drwx------ 3 sftp_only sftp_only 70 5月 2 13:32 ..
-rw------- 1 sftp_only sftp_only 396 5月 2 13:28 authorized_keys


###鍵認証を使った接続

* WinSCP起動

    <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/34957af4-6629-a286-39e9-91cc6bd2a333.png" width=80>
<br>

* ログイン設定

    右側の「新しいサイト」を選択し、「セッション」を設定
転送プロトコル:SFTP
ホスト名: 153.126.209.124 ←ホストのIPアドレスまたはURL
ポート番号:2022 ←SSH接続設定時に変更したポート番号
ユーザ名:ftp_only
パスワード:(不要)
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/e4e2630d-f18f-3eaa-7cc3-122a80e5f884.jpeg" width=500>
<br>

* 秘密鍵の設定

    * パスワードの下の[設定(D)…]をクリックすると、下記のダイアログが開きます。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/b4b79f7d-a525-db3d-d3b4-d8ea4e24f994.jpeg" width=500>
<br>

    * 左側から「認証」を選択

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/08ac5015-2b3c-9ee2-0f46-a23921964888.jpeg" width=500>
<br>

    * 秘密鍵のテキストボックス右端の[…]をクリックしてファイル選択ダイアログを開き、SSH接続設定時に作成した秘密鍵の保存されたフォルダを選択します。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/9842d6b9-c51d-2b22-ea65-d02dc1bf18b9.jpeg" width=500>
<br>

    * 選択するファイルの種類を「すべてのファイル(*.*)」にすると、鍵ファイルが表示されますので、「d_rsa」ファイルを選択し、[開く(O)]をクリックします。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/9b5934ae-e249-94c8-f3f7-176be4c2a047.jpeg" width=545>
<br>

    * 「確認」ダイアログが表示されますので、[OK]をクリックします。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/3f9005ba-942c-1c76-95c0-eb7009be6dc3.jpeg" width=500>
<br>

    * 「パスフレーズの入力」ダイアログが開きますので、SSH接続設定で公開鍵・秘密鍵を作成する時に設定した「鍵のパスフレーズ」を入力し[OK]をクリックします。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/12d15e4f-0321-d3b5-ee41-fac5824bbf6f.jpeg" width=280>
<br>

    * 「変換された秘密鍵を保存」ダイアログが開きますので[保存(S)]で保存し、表示された「情報」ダイアログで[OK]をクリックします。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/1729dde1-42df-d21f-256e-cda808122106.jpeg" whdth=500>

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/1c8e0ec4-885e-f3e6-b0ba-2cec0af8ba06.jpeg" width=400>
<br>

    * 秘密鍵のファイル名が設定されたことを確認して、[OK]をクリック。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/41c4f015-6b58-e240-a6a0-48339d72b030.jpeg" width=500>
<br>

    * ログイン設定ダイアログに戻りますので[保存(S)]ボタンをクリックして保存します。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/e03e8fdf-79dd-a8eb-83b2-53d200112fbd.jpeg" width=300>
<br>

    * [ログイン]をクリック。

        <img src="https://qiita-image-store.s3.amazonaws.com/0/222823/e5b60693-0716-6884-ffed-f348e64847d3.jpeg" width=500>
<br>

    * 接続を確認。

        フォルダが/wwwになっていて、そこから上には行けないことを確認。
<img src="https://qiita-image-store.s3.amazonaws.com/0/222823/b8bdd85a-b19e-46fe-48de-2c31b080631b.jpeg" width=500>
<br>

##WinSCP自動接続

パスフレーズをスキップするための設定です。
WinSCPに付属の「pageant.exe」を利用します。

* 起動

    WinSCPがインストールされているフォルダの「PuTTY」フォルダにある「pageant.exe」を起動します。

    ```
C:\Program Files (x86)\WinSCP\PuTTY\pagent.exe
ツールバーにアイコンが表示されます。
ダブルクリックするとダイアログが開きます。

  • 鍵とパスフレーズを登録

    [AddKey]をクリックし、秘密鍵を選択

ダイアログが開くので、パスフレーズを入力
以上で登録完了です。

  • WinSCPでパスフレーズ無しで接続できることを確認します。

#次回

sftpの設定が完了しました。
次回は、phpMyAdminをインストールします。

前回:FTP接続
次回:8. phpMyAdminインストール

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?