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

さくらVPSでCentOS7 3.SSH接続

はじめに

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

前回、CentOS7をインストールしました。
今回はSSHで接続出来る環境を作っていきます。
最初にルートにパスワードで接続し、ユーザ追加・鍵認証・ポート変更等を行います。

目次

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

3.SSH接続

Tera Termインストール

接続にはTera Termというソフトを使います。

  • ダウンロード

    窓の杜からダウンロードします。

  • インストール

    ダウンロードしたファイルteraterm-4.98.exe(H30/04/20現在)を起動
    [実行]をクリック

    ※この後ユーザーアカウント制御ダイアログが表示されたら[はい]を選択

    日本語を選択し[OK]をクリック

    [同意する]を選択し[次へ(N)>]

    [TeraTerm Menu]のチェックを追加して[次へ(N)>]をクリック

    ディフォルト(日本語)のまま[次へ(N)>]をクリック

    ディフォルトのまま[次へ(N)>]をクリック

    [インストール]をクリック

    [完了]をクリック

    以上でTera Termのインストールは完了です。

rootでログインしてみる

  • Tera Termを起動します



  • 接続パラメータ入力

    ホストは、さくらVPSのサーバー一覧で確認できます。

    一覧に掲載されているURL又IPアドレスをホストに設定します。

  • セキュリティ警告

    [続行]をクリック


  • SSH認証

    ユーザ名:root
    パスフレーズ:CentOS7インストール時に設定したrootのパスワード
    [OK]をクリック


  • 接続完了


    接続出来ない時は、ホスト・ポート・ユーザ名・パスワード等の設定を確認してください。
    あと、サーバーが稼働中かも確認してください。
    さくらVPSのサーバー一覧の右端に「停止中」と表示れている場合、起動する必要があります。サーバーを選択し、開いた詳細画面の[起動]をクリックすると起動します。

システムのアップデート

  • システムアップデートをしておきます。

    # yum update
    
  • 日本語環境を設定
    「localectl」コマンドを使って日本語環境を設定します。
    「localectl」は言語と地域の設定の確認と変更を行うコマンドです。
    「set-locale」はシステムのローカルを設定するlocalectlのコマンドです。

    # localectl set-locale LANG=ja_JP.utf8
    

    上記コマンドを実行すると、「/etc/locale.conf」が変更されます。
    この変更を反映する為に「source」コマンドを実行します。
    「source」コマンドは、ファイルに書かれたコマンドを現在のシェルで実行するコマンドです。

    # source /etc/locale.conf
    

    「localectl」で設定の確認ができます。

    # localectl
    System Locale: LANG=ja_JP.utf8
       VC Keymap: jp106
      X11 Layout: jp
    

    英語配列のキーボードを使っている場合は、キーボード配列を変更します。
    これも「localctl」コマンドで出来ます。

    # localectl set-keymap us
    # localectl
    System Locale: LANG=ja_JP.utf8
       VC Keymap: us
      X11 Layout: us
       X11 Model: pc105+inet
     X11 Options: terminal:ctrl_alt_bksp
    

作業概要

以下の手順で作業をしていきます

  • 作業用一般ユーザの作成
  • sudoの設定
  • 鍵認証の為の公開鍵と秘密鍵を作成
  • 公開鍵を使ったログイン設定
  • SSH接続設定とSSH接続ポート番号の変更
  • firewalldの設定
  • Tera Termで自動ログイン

作業用一般ユーザの作成

例として「sakura」という名称の作業用一般ユーザーを作成します。
先ほど立ち上げたTera Termのrootのコンソールでの作業です。

  • 「sakura」ユーザ追加

    # useradd sakura
    
  • パスワード作成

    # passwd sakura
    ユーザ sakura のパスワードを変更。
    新しいパスワード:  ←ここに入力。表示はされない。
    あたらしいパスワードを再入力してください: ←もう一度入力。表示はされない。
    passwd: すべての認証トークンが正しく更新できました。
    

sudoの設定

作業用一般ユーザがスーパーユーザの特権レベルでプログラムを実行できるように、sudoを設定します。
引き続き、先ほど立ち上げたTera Termのrootのコンソールでの作業です。
一般ユーザを「wheel」グループに所属させた後、「wheel」グループが「sudo」を利用できるように設定します。

  • ユーザを「wheel」グループに所属させる
    「-G」は補助グループを指定するオプションです。

    # usermod -G wheel sakura
    
  • wheelグループに所属するユーザが「sudo」を利用できるように設定
    「visudo」はsudoの権限を設定するコマンドです。
    実行すると/etc/sudoersファイルを編集するエディタが開きます。

    # visudo
    

    エディタが起動するので、以下を修正して保存する。
    %wheel ALL=(ALL) ALL と書かれた行の先頭に「#」があればはずす。

    /etc/sudoers.tmp
    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL
    
  • 動作確認
    新しくTera Termを開いて、作業用ユーザ「sakura」でログインしてみます。

    • Tera Termを起動し、ユーザを「sakura」にしてコンソールを起動します。



    • sudoの動作確認
      コマンドの前に「sudo」を付けて実行します。
      メッセージの後、パスワードを聞いてきますので「sakura」のパスワードを入力します。
      最後の1行がコマンドの実行結果です。

      $ sudo id
      あなたはシステム管理者から通常の講習を受けたはずです。
      これは通常、以下の3点に要約されます:
       
      #1) 他人のプライバシーを尊重すること。
      #2) タイプする前に考えること。
      #3) 大いなる力には大いなる責任が伴うこと。
       
      [sudo] sakura のパスワード:
      uid=0(root) gid=0(root) groups=0(root)
      
  • 接続を閉じる

    rootでの作業は此処までですので、コンソールを閉じます。
    exitコマンドでログアウトしコンソールが閉じます。

    # exit
    

鍵認証の為の公開鍵と秘密鍵を作成

ユーザ名とパスワードでの接続が出来ましたので、鍵認証を使った接続の設定をしていきます。
まず、鍵認証に必要な公開鍵と秘密鍵を作成します。
作成にはTera Termを使います。

  • 鍵を保存する為のフォルダを作成します。
    とりあえずマイドキュメントの下に「公開鍵認証」フォルダを作成しましたが、任意の場所でOKです。



  • Tera Term起動します。



  • 「Tera Term:新しい接続」ダイアログの[キャンセル]をクリックし、ダイアログを閉じます。



  • メニューから[設定]-[SSH鍵生成]を選択



  • 「TTSSH: 鍵生成」ダイアログで[生成(G)]をクリック

    鍵の種類:RSA
    ビット数(B):2048


  • 鍵のバスフレーズを入力
    パスフレーズは任意の文字列です。
    接続時に使用します。



  • [公開鍵の保存]をクリックして保存

    保存先選択用のダイアログが開くので、先ほど作成した「公開鍵認証」フォルダを選択して保存します。


  • [秘密鍵の保存]をクリックして保存

    保存先選択用のダイアログが開くので、先ほど作成した「公開鍵認証」フォルダを選択して保存します。


  • Tera Termを閉じる

公開鍵を使ったログイン設定

公開鍵をサーバーに転送し、公開鍵認証の設定を行います。
Tera Termで作業用一般ユーザでログインして作業します。

  • Tera Termを起動し、作業用ユーザー「sakura」でログイン

  • ユーザーのホームディレクトリに移動

    $ cd
    
  • ディレクトリ確認

    $pwd
    /home/sakura
    
  • 公開鍵転送

    • 先ほど作成し「My Document\公開鍵認証」フォルダに保存した公開鍵「id_rsa.pub」をTera Termのコンソールにドラッグ&ドロップします。


    • 「Tera Term:ドラッグ&ドロップ」ダイアログが開くので、「SCP」欄に「~/」と入力して[SCP]をクリック。


    • 確認
      公開鍵がルートに転送されたか確認します。id_rsa.pubファイルがあれば成功です。

      $ ls -l
      合計 4
      -rw-r--r-- 1 sakura sakura 392  4月 23 14:58 id_rsa.pub
      
    • 公開鍵保存用フォルダを作成し、公開鍵をコピーする。
      フォルダ名:.ssh
      フォルダのパーミッション:700
      ファイル名:.ssh/authorized_keys
      ファイルのパーミッション:600

      $mkdir .ssh
      $chmod 700 .ssh
      $cat id_rsa.pub > .ssh/authorized_keys
      $chmod 600 .ssh/authorized_keys
      $rm -f id_rsa.pub
      
    • 確認

      $ls -la .ssh
      合計 4
      drwx------ 2 sakura sakura  28  4月 23 15:57 .
      drwx------ 5 sakura sakura 117  4月 23 15:58 ..
      -rw------- 1 sakura sakura 392  4月 23 15:57 authorized_keys
      
    • Tera Termを閉じる
      鍵認証を使って接続する為に、一度Tera Termを閉じます。

      $ exit
      
    • 鍵認証で接続

      • Tera Termを起動



      • Tera Term:新しい接続にホストを設定して[OK]をクリック



      • セキュリティ警告で[継続]クリック



      • SSH認証設定
        ユーザ名:sakura
        パスフレーズ:Tera Termで鍵生成時に入力した「鍵のパスフレーズ」を設定
        「RSA/DSA/ECDSA/ED25519鍵を使う」を選択


      • 秘密鍵の選択
        [秘密鍵]をクリックし、Tera Termで鍵生成時に作成・保存した秘密鍵「id_rsa」を選択

      • 接続

        [OK]をクリックすると接続されます

以上で鍵認証を使った接続の設定は完了です。
以降、この接続を使って設定作業を進めていきます。

SSH接続設定とSSH接続ポート番号の変更

作業用一般ユーザの鍵認証を使った接続が出来るようになったので、rootユーザでのログインとパスワードを使った認証は使えないようにします。
作業はTera Termで一般ユーザ「sakura」に鍵認証で接続して行います。

  • SSH接続の設定とポート番号変更

    /etc/ssh/sshd_configを編集します。
    特権レベル(sudo)で実行します。
    変更前にバックアップしておきます。

    $ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
    [sudo] sakua のパスワード: ←パスワード入力。表示されない
    

    編集

    $ sudo vi /etc/ssh/sshd_config
    

    SSH接続用ポート番号の変更
    番号は使用されていないポート(1025~49151)から任意の数値を設定します。
    とりあえず2022にしました。

    # ポート番号を変更
    #Port 22
    Port 2022
    

    rootユーザでのログインを無効にする

    # rootユーザでのログインを無効にする為PrimitRootLoginをnoに変更
    #PermitRootLogin yes
    PermitRootLogin no
    

    パスワード認証を無効にする

    # To disable tunneled clear text passwords, change to no here!
    # パスワード認証を無効にするためPasswordAuthenticationをnoに変更
    #PasswordAuthentication yes
    PasswordAuthentication no
    
  • SSH接続設定の再読み込み

    変更内容を反映させる為に再読み込みします。

    $ sudo systemctl restart sshd
    [sudo] sakua のパスワード: ←パスワード入力。表示されない
    
  • SSH接続の動作確認
    activeという文字があればOKです。

    $ 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-04-23 16:54:45 JST; 24s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
    Main PID: 26151 (sshd)
    CGroup: /system.slice/sshd.service
           mq26151 /usr/sbin/sshd -D
     
    4月 23 16:54:45 ik1-340-30370.vs.sakura.ne.jp systemd[1]: Starting OpenSSH ...
    4月 23 16:54:45 ik1-340-30370.vs.sakura.ne.jp sshd[26151]: Server listening...
    4月 23 16:54:45 ik1-340-30370.vs.sakura.ne.jp systemd[1]: Started OpenSSH s...
    Hint: Some lines were ellipsized, use -l to show in full.
    

firewalld(ファイアウォール)の設定

SSH接続ポート番号を変更したので、firewalldの設定も変更します。

  • 編集

    $ sudo vi /usr/lib/firewalld/services/ssh.xml
    [sudo] sakura のパスワード: ←パスワード入力。表示されない
    

    ポート番号を22から変更したポート番号「2022」に変更します。

    <port protocol="tcp" port="2022"/>
    
  • 設定を再読み込みして変更を反映させる

    $ sudo firewall-cmd --reload
    success
    
  • 動作確認

    • 一度接続を閉じます

      $ exit
      

SSHのポート番号を変更すると、接続できなくなる!!

  • /usr/lib/firewalld/services/ssh.xmlを編集して、設定を再読み込みすると、以下のようになる場合があります。

    $ sudo firewall-cmd --reload
    FirewalID is not running
    

    ファイアウォールが起動していないのですが、これは2019年06月27日にさくらVPSが「パケットフィルタ」の提供を開始したことにより、CentOS7のデフォルト設定からファイアウォール起動が外されたことが原因です。
    パケットフィルタは、さくらVPSのコントロールパネルからポートの有効・無効を設定出来る機能で、このパケットフィルタ使用がデフォルトで有効になっているため、ファイアウォールが無効になったようです。
    なので、ファイアウォールを使用せずパケットフィルタを使おうと思ったのですが、SSHだとポート22が固定で変更出来ないようです。
    ちなみに設定できるポートは以下です。
    SSH:22
    Web:80/443
    FTP:20/21
    メール:25/110/143/465/587/993/995
    この中で、SSHだけがデフォルトで有効になっています。
    このせいで、SSHのポート番号を変更すると、いくらファイアウォールを設定しても繋がらなくなってしまいます。
    同様に、Webを有効にしないと、Webサーバー繋がりません。

    ということで、パケットフィルタは無効にしました。
    変更は、さくらVPSのコントロールパネルから行います。

  • コントロールパネルを開き、[パケットフィルタ]を選択

  • [パケットフィルタ設定へ>]を選択

  • [利用しない]を選択し、[設定]をクリック

  • firewalld.serviceを起動

    $ sudo systemctl start firewalld.service
    
  • firewalld.serviceの自動起動設定

    $sudo systemctl enable firewalld.service
    

変更したポートで開く

  • Tera Termを起動


  • Tera Term:新しい接続にホストを設定して[OK]をクリック
    ポート番号:2022 (ポート番号変更時に付けた任意のポート番号)


  • セキュリティ警告で[継続]クリック


  • SSH認証設定
    ユーザ名:sakura
    パスフレーズ:Tera Termで鍵生成時に入力した「鍵のパスフレーズ」を設定
    「RSA/DSA/ECDSA/ED25519鍵を使う」を選択


  • 秘密鍵の選択
    [秘密鍵]をクリックし、Tera Termで鍵生成時に作成・保存した秘密鍵「id_rsa」を選択



  • 接続

    [OK]をクリックすると接続されます
    

Tera Termで自動ログイン

毎回ユーザ名、パスフレーズを入力と秘密鍵を選択をするのは面倒ですので、自動でログインできるように設定します。

  • 「TeraTerm Menu」起動

    メニューから[すべてのプログラム]-[Tera Term]-[TeraTerm Menu]を選択

    タスクバーに常駐する

    右クリックでメニューを開き、[リスト編集]を選択


  • 設定

    • 登録名:さくらVPS(任意の名称でOK)
    • 起動の種類

      • 自動ログインにチェック
      • ホスト名:153.126.209.124:2022 ←「:」の後にポート番号を記入する。
      • ユーザ名:sakura
      • パスワード:鍵生成時の「鍵のパスフレーズ」を設定。
      • 鍵ファイル:[…]をクリックし、秘密鍵「id_rsa」を選択。

    で保存。左のリスト項目に入る。



  • 起動

    タスクバーのアイコンを左クリックし、表示された名称を選択すると起動する。

次回

SSHの設定が完了しました。
次回は、今回作成した一般作業用のユーザで接続して、ApacheとPHPをインストールします。

前回:CentOS7インストール
次回:Apache・PHPインストール

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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした