【メモ】さくらVPSのssh設定について
アプリで参照するサーバをAWSからさくらVPSにしました。
それで自分のローカルmacPCから、さくらサーバにsshするだけでも苦労したのでメモしておきます。
ちょっと愚痴になりますが。。。
さくらにもssh関連のドキュメントがあるのですが、centOS 6でwindowsからの接続の場合の記載だけしかありませんでした。
サーバに入れられるOSは他にもcentOS 7やubuntuなどがあるのですが、やり方が少し違うので、詳しく無い場合は調べる必要があります。
私は今回centOS 7を入れて、その事例となるのですが、
せめてcentOS 7のドキュメントも欲しいものでした。
ちなみにWebブラウザ経由で仮想コンソールみたいなのでサーバに接続できるのですが、凄く使いづらいです。
なのでローカルPCから接続を試みた次第です。
このあたりAWSはやはり手頃だなと思いました。
手順
手順としては以下となります。
メインは赤文字の部分です。
- 一般ユーザの追加方法
- SSH接続の設定変更方法
- sudoの設定方法
一般ユーザの追加方法
ssh接続用ユーザの作成です。
これはさくらのドキュメントどおりで設定できました。
SSH接続の設定変更方法
まずmac側で公開鍵の設定です。
$ ssh-keygen -t rsa
$ chmod 600 ~/.ssh/id_rsa.pub
次にさくらサーバ側です。
ここもほとんどさくらのドキュメントどおりですが、vi .ssh/authorized_keysがmac特有です。
ssh接続ユーザにて
$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys
->Macのid_rsa.pubの内容を貼り付け
$ chmod 600 .ssh/authorized_keys
次にドキュメントどおりにSSH接続の設定変更をするのですが、ここでssh接続ポートも変更します。
そしてなんと、centOS 7で設定方法が変わっていて、調査が必要でした。
以下でポートの開放状況を確認
$ firewall-cmd –list-ports –zone=public
以下で開放するポートを追加 例:99999ポートの場合
firewall-cmd –add-port=99999/tcp –zone=public –permanent
firewalldをリロード
firewall-cmd –reload
どうやらcentOS 7からfirewallコマンドでポートを開放する必要があるようでした。
sudoの設定方法
一般ユーザがコマンド毎にroot権限を持つことができる設定です。
ここもさくらのドキュメントどおりでしたが、設定を反映させるのに再起動が必要でした。
ドキュメントには記載がなく。
これで完了です。
macからの接続は
$ ssh -p ‘port’ ‘ユーザ’@‘サーバipアドレス’
となります。
まとめとして、
centOS 7でssh設定をする場合は
firewallコマンドでポートを開ける必要がある
ということです。