カテゴリー
Linux

初めての VPS-#2 (SSH 接続)。

The same article in English

 昨日の朝, WordPress 4.0.1 になっていた。セキュリティ・アップデートということだが,主として, XSS 関連のようだ。自動でアップデートされると思うが,されない場合は,手動での早急なアップテートをお奨めする。 “An extremely unlikely hash collision could allow a user’s account to be compromised, that also required that they haven’t logged in since 2008 (I wish I were kidding).” というのを読んで,思わず笑っちゃったが,笑いごとじゃないよなあ(溜息)。

 CentOS7 は標準で SSH が使えるようだ。 OS 変更後, TeraTerm で接続してみた。もちろん,他の SSH クライアントでも構わない, PuTTY とか WinSCP とか。 SSH サーバの現時点のバージョンは 6.4p1-8 だった。

 標準の設定だと, root かつ パスワードでアクセス可能なので,ちょっと,不安。細かい設定は後回しとしても,最小限,これだけは変えておこう。

 設定いじりの前に, TeraTerm で 認証鍵ペアを作った。秘密鍵には, passphrase も設定した。サーバ上でも鍵は作れるが,それだと,秘密鍵のほうをネット経由でやり取りすることになる。これが嫌いなのだ。多人数相手だと,メールででもやり取りしないと仕方ないだろうが。

||その 1 Sudoers ファイルの編集||

  1. VPS コントロールパネルにログインし,「リモートコンソール」をクリック,続いて「VNCコンソールを開く」をクリック。
  2. 1 分以内に,「HTML5モードで開く」をクリックすると, QEMU が別窓で開く。
  3. # usermod -G wheel centos  <--- 「centos」というのは, sudo を使わせたいユーザ。 # visudo
    ファイルが開く。
  4. ‘/wheel’ をやって,「wheel」のある行を探す。
    「%wheel ALL=(ALL) ALL」の行頭に「#」があったら,外して,アンコメントする。しかし,今回は,「#」はなかった。ということで,そのまま, visudo を閉じる。
    注)visudo の使い方は,基本的には, vi エディタのと同じである。
  5. # su - centos
  6. $ sudo shutdown -h now
  7. ‘sudo’ 使用の初回には,下記のメッセージが出る。

    We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

    パスワードを要求される。
    [sudo] password for centos:

  8. “VPS ホーム” で,サーバが停止しているのを確認できる。サーバを再起動しておこう。

||その 2 policycoreutils-python のインストール||

  1. QEMU に再度ログイン。後で SSH のポートを標準から変更するときに, ‘semanage’ コマンドを使うので, policycoreutils-python をインストールしておく。
    # yum install policycoreutils-python

||その 3 SSH の設定を変更||

  1. TeraTerm (ttermpro.exe) を起動。 VPS に「centos」として,パスワード認証でログイン。
  2. 公開鍵 (id_rsa.pub) を TeraTerm の窓にドラッグ&ドロップ。 TeraTerm は SCP(Secure Copy Protocol) に対応しているので,「SCP」ボタンをクリック。
  3. $ mkdir .ssh
    $ chmod 700 .ssh
    $ cat id_rsa.pub > .ssh/authorized_keys
    $ chmod 600 .ssh/authorized_keys
    $ rm -f id_rsa.pub
  4. $ su -
    Password:  <--- root のパスワードを入力。
  5. # vi /etc/ssh/sshd_config
    sshd_config が開く。
  6. #Port22  —>  Port****
    #PermitRootLogin yes  —>  PermitRootLogin no
    PasswordAuthentication yes  —>  PasswordAuthentication no
     
    変更した sshd_config を上書き保存。

    # systemctl restart sshd.service

    注)**** には well-known ports 以外の数値を使う。ただし,数値は 0 ~ 65535。

  7. # firewall-cmd --permanent --zone=public --add-port=****/tcp
    # firewall-cmd --reload
    # semanage port -a -t ssh_port_t -p tcp ****
  8. # exit
    $ exit
    TeraTerm が終了する。
  9. 再度, TeraTerm (ttermpro.exe) を起動。今度は,鍵認証方式で「centos」として,ログイン。新しい SSH ポート(****)を使う。今回は秘密鍵の passphrase も必要である。
  10. SSH 接続で ‘sudo’ を使ってみる。

    $ sudo firewall-cmd --list-all
    public (default, active)
      interfaces: eth0
      sources:
      services: dhcpv6-client ssh
      ports: ****/tcp
      masquerade: no
      forward-ports:
      icmp-blocks:
      rich rules:

 SSH の設定変更,おしまい!!

 ところで, 15 日に PHP5.6.3 にアップデートした。 ChangLog はこんな感じ。

「初めての VPS-#2 (SSH 接続)。」への4件の返信

おはようございます。

sshもきれいにまとめてらっしゃいますね。
CentOS7で運用を開始しましたら
色々不具合がでてきました。

★昔ながらのeth0にする方法
Red Hat EL 7(CentOS 7)でNICのデバイス名を古い形式(eth0とか)にする方法

★vsftpdが自動起動しない場合の変更方法
# vi /usr/lib/systemd/system/vsftpd.service

[Unit]
Description=Vsftpd ftp daemon
#After=network.target
After=network.target mariadb.service

★webmin
chkconfigとserviceコマンド

★clamd
サーバーを再起動するとサービスが復旧しない。
対処法はサーバー再起動しない。

くりくりさん,こんにちは。

> ★昔ながらのeth0にする方法
初めに, systemctl status iptables と systemctl status firewalld をやったんですが, iptables は dead で, firewalld が running でした。それで, iptables の扱いは元に戻りそうにないなと思って, firewalld を覚えるつもりなんですが,こちらに関してはどうでしょうか。

ls /etc/sysconfig/network-scripts/ では, ifcfg-eth0, ifcfg-eth1, ifcfg-eth2, ifcfg-lo になっています。「さくらの VPS のカスタムインストール」から CentOS7 を入れると,ネットワーク設定はいじらなくていいんです。そこのところで,既に ethx 系を使うように設定されているのでしょうか。
ところで,関係リンクをタグに変えました。毎度ですが,コメント時にタグの使えない設定で,すみません m(_”_)m。

> ★vsftpdが自動起動しない場合の変更方法
これは, Maria ちゃん絡みですか?デフォが, MySQL なんでしょうか。

> ★webmin
> chkconfigとserviceコマンド
この辺は,「systemctl に変った」件関係の話ですか。私は,しょっぱなの sshd の再起動で躓きました。

> ★clamd
> 対処法はサーバー再起動しない。
エッ??!!

今晩は

明日も休みなんで寝てました(w

>こちらに関してはどうでしょうか。
iptablesとfirewalldですが、俺はiptablesです。
plesk11もそうだしplesk12もiptablesですからね。
さらにiptablesに変わるnftablesがあります。
nftables
どれがメインになるかはわかりません。
iptablesは消えていくのかな。

以下は不具合解消法ですかね?
vsftpdは再起動するとsystemctl enable vsftpdとしても
再起動すると自動起動しなくなります。
対処方法は起動順序をnetworktarget
もしくはmariadbの後に変更する必要があります。

clamdはrpmforgeにel7がありましたが
これも再起動するとちゃんとうごきません。
自動起動設定はchkconfigを使い。
起動はinitではなくsystemdですからね。

いずれにせよまだCentOS7は色々はやいというか
不具合が多いですね。
後、今年はお腹いっぱいと関わってくるんですが、
CentOS5のサポートが2.4年です。
今年みたいに不具合が多いとサポートが終わったOS
で運用は絶対したくないですね。

くりくりさん,こんばんは。

前返信は,いろいろ,勘違いの書き込みでした(汗)。当たり前ですが,まだまだ勉強不足なんです。

> 以下は不具合解消法ですかね?
これは, systemd で依存関係を解決することに関連がありそうですが, vsftpd の起動が mariadb に関係あるんでしょうか?

> いずれにせよまだCentOS7は色々はやいというか
そうですね。

しかし,今年のように大きな脆弱性が目白押しだと,おっしゃるように,サポートの終わった OS での運用は,確かに厳しいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です