さくらVPSでCentOS7 7.sftp接続
はじめに
自由にテスト出来るLinuxのサーバーがほしくて、さくらVPSで構築してみました。
順次手順をアップしていく予定です。
今回は、sftpのインストール・設定をします。
目次
- 申し込み
- CentOS7インストール
- SSH接続
- Apache・PHPインストール
- MariaDBインストール
- FTP接続
- sftp接続
- phpMyAdminインストール
- 環境のバックアップ
- Ruby On Railsインストール
- RailsプロジェクトをGitで共同開発
sftp設定
sftpはSSHの仕組みを使用してファイルの受送信するプロトコルです。
接続アプリは前回のFTP接続で使ったWinSCPを利用します。
sftpは2種類のユーザ設定をしようと思います。
-
一般作業用ユーザにsftp設定
現在一般作業用ユーザは、sshでの接続と、sudoの特権レベルが使えるようにしてあります。このユーザにsftp設定をします。
-
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)…]をクリックすると、下記のダイアログが開きます。
-
左側から「認証」を選択
-
秘密鍵のテキストボックス右端の[…]をクリックしてファイル選択ダイアログを開き、SSH接続設定時に作成した秘密鍵の保存されたフォルダを選択します。
-
選択するファイルの種類を「すべてのファイル(*.*)」にすると、鍵ファイルが表示されますので、「id_rsa」ファイルを選択し、[開く(O)]をクリックします。
-
「確認」ダイアログが表示されますので、[OK]をクリックします。
-
「パスフレーズの入力」ダイアログが開きますので、SSH接続設定で公開鍵・秘密鍵を作成する時に設定した「鍵のパスフレーズ」を入力し[OK]をクリックします。
-
「変換された秘密鍵を保存」ダイアログが開きますので[保存(S)]で保存し、表示された「情報」ダイアログで[OK]をクリックします。
-
秘密鍵のファイル名が設定されたことを確認して、[OK]をクリック。
-
ログイン設定ダイアログに戻りますので[保存(S)]ボタンをクリックして保存します。
-
[ログイン]をクリック
-
接続を確認
-
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インストールをした時に作成したグループで、「/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
ファイルの最後の方に以下の設定があります。
# 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
これを、次のように変更します。
# 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.
公開鍵・秘密鍵の作成
-
「3.SSH接続」の「鍵認証の為の公開鍵と秘密鍵を作成」と同様にTeraTermを使用して鍵を作成します。
※WinSCPでも鍵は作れるのですが、なぜか認証がうまくいかなかったので、TeraTermで鍵を作成しました。
公開鍵のアップ
公開鍵をユーザのフォルダにアップします。
-
アップする場所を作成
$ sudo mkdir /home/sftp_only/.ssh $ sudo chmod 700 /home/sftp_only/.ssh $ sudo chown -R sftp_only:sftp_only /home/sftp_only/.ssh
-
公開鍵をアップ
公開鍵をドラッグ&ドロップ
SCPに「~/」を入力して[SCP]をクリック
-
アップしたファイルをリネーム
$ 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起動
-
ログイン設定
右側の「新しいサイト」を選択し、「セッション」を設定
転送プロトコル:SFTP
ホスト名: 153.126.209.124 ←ホストのIPアドレスまたはURL
ポート番号:2022 ←SSH接続設定時に変更したポート番号
ユーザ名:ftp_only
パスワード:(不要)
-
秘密鍵の設定
-
パスワードの下の[設定(D)…]をクリックすると、下記のダイアログが開きます。
-
左側から「認証」を選択
-
秘密鍵のテキストボックス右端の[…]をクリックしてファイル選択ダイアログを開き、SSH接続設定時に作成した秘密鍵の保存されたフォルダを選択します。
-
選択するファイルの種類を「すべてのファイル(.)」にすると、鍵ファイルが表示されますので、「d_rsa」ファイルを選択し、[開く(O)]をクリックします。
-
「確認」ダイアログが表示されますので、[OK]をクリックします。
-
「パスフレーズの入力」ダイアログが開きますので、SSH接続設定で公開鍵・秘密鍵を作成する時に設定した「鍵のパスフレーズ」を入力し[OK]をクリックします。
-
「変換された秘密鍵を保存」ダイアログが開きますので[保存(S)]で保存し、表示された「情報」ダイアログで[OK]をクリックします。
-
秘密鍵のファイル名が設定されたことを確認して、[OK]をクリック。
-
ログイン設定ダイアログに戻りますので[保存(S)]ボタンをクリックして保存します。
-
[ログイン]をクリック。
-
接続を確認。
-
WinSCP自動接続
パスフレーズをスキップするための設定です。
WinSCPに付属の「pageant.exe」を利用します。
-
起動
WinSCPがインストールされているフォルダの「PuTTY」フォルダにある「pageant.exe」を起動します。
C:\Program Files (x86)\WinSCP\PuTTY\pagent.exe
-
鍵とパスフレーズを登録
WinSCPでパスフレーズ無しで接続できることを確認します。
次回
sftpの設定が完了しました。
次回は、phpMyAdminをインストールします。
前回:FTP接続
次回:8. phpMyAdminインストール
Author And Source
この問題について(さくらVPSでCentOS7 7.sftp接続), 我々は、より多くの情報をここで見つけました https://qiita.com/Qsugi/items/a8328a116218b058a8bf著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .