※メモも兼ねて長文です。



言葉は何となく知っていた VPS ですが、
このたびようやく(?)触れる機会がありました。

お仕事にて「さくらVPS」にて構築された EC-CUBE を
VPS の知識が特に無い私に引き継がれました。
社外案件(&担当者が退職)で聞ける人もいなかったので不安でした。

しばらくは管理画面上からの操作で事足りてましたが、
<title> タグの書き換えなど、ファイルを直接書き換える必要がでてきました。
いつも通り FTP クライアントから編集しようかと思いましたが、
ファイル権限が違うとの事で、上書き等ができませんでした。

どうやら さくらVPS の方にて操作をしないといけないと気付き、
挑戦した次第です。



https://secure.sakura.ad.jp/vps/#/login
まずは さくらVPS に WEB からログインしました。

サーバ一覧がでてくるので、対象のサーバーを選択…
するとサーバー情報や、起動・強制再起動・強制停止・コンソールなどの
操作可能なボタンがでてきます。

起動・強制再起動・強制停止などは基本的に押さないようですね。

その後、コンソールをクリックしました。
すると、HTML5版・Java Applet版・β版とさらに分かれてきます。
私は Firefox から試したのですが、 Java Applet版 は起動しなかったので、
HTML5版 を選びました。(β版はなんか敷居が高そうだったのでやめました…)

いわゆる黒い画面が別ウィンドウで立ち上がります。
とりあえずログインをしないといけないみたいなのでログインします。
最初なので root でログインしました。

当初はなるほど~ここからパス移動して編集していくのかな?と思い、
ググった情報を基に vi コマンドで目的のファイルを編集モードにするところまでは行けました。
しかし、困ったことに日本語の入力がさっぱりわからず、
ついでにコピペもできない様で…お手上げてしまいました。



やり方を再度ググったところ、
SSH クライアントでログインしなければならないという情報にたどり着きました。

私は Windows ユーザーなので、さっそく Teraterm を起動し、
公式マニュアルやググった情報通りに SSH 接続を試みましたが、
接続が拒否されました(だったかな?)とアラートが出て、失敗しました。

エラーを基にググってみると、
SSH の設定ファイルを確認してみる必要があるとのことでした。

さっそく vi /etc/ssh/sshd_config とコマンドを入力すると
AuthorizedLeysFile や Port などなどの情報がでてきました。

ここでポート番号が 通常は 22 らしいのですが、
セキュリティ対策で独自に変更されていることがわかりました。
得た情報を基に再度 SSH クライアントを設定して接続を試みました。

ところが、これでも接続ができませんでした。
しばらくこの症状ではまり…、

こちらもセキュリティで root ユーザーでは SSH クライアントからの
接続ができない事が分かりました…。



どうやら先にユーザーを追加しなければいけないという状況がわかりました。

ユーザーの追加の仕方は、公式マニュアルに載っていました。
https://help.sakura.ad.jp/app/answers/detail/a_id/2428/~/%E4%B8%80%E8%88%AC%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E8%BF%BD%E5%8A%A0%E6%96%B9%E6%B3%95

# useradd ***
# passwd ***
※「***」は、お客様が追加するユーザ名のため任意の文字列です。

と記載があり、
なるほど~ useradd には admin、 passwd には password と入れるのかな?
(※入力値の admin password は例です)
と思いこみ入力したのですが、 マニュアル通りに先へ進まず、ちょっと考え込んでしまいました。

するとなんと useradd と passwd は追加したいユーザ名を入力するとのことで、
useradd admin
passwd admin
とする必要がありました orz

その後、New password: と聞かれるので、ここで初めてパスワードを入力できます。
all authentication tokens updated successfully.
と表示されると成功の様で、一安心。

確認の為にユーザーを切り替えてみます。
切り替えコマンドがわからなかったので、ググりました。
http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%AE%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%92%E8%A1%8C%E3%81%86%E6%96%B9%E6%B3%95%E3%83%BBsu%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html

どうやら、 su または su - を使うようですね。
su - admin
とすると、Password: と聞かれたので、入力すると、
[root] だったのが [admin] と切り替わったので、成功のようです!



さて再度 admin ユーザーにて SSH クライアントで接続を試みます。
しかし今回もまたダメでした orz

しばらくいろいろな情報をにらめっこしていると
/etc/ssh/sshd_config の際に、
passwordAuthentication という項目が目に留まりました。

passwordAuthentication をそのままググってみると、
パスワード認証 をするか?しないか?の設定のようです。

ここが no になっており、接続できなかったようです。

ユーザーが admin のままだったら、root でログインしなおして、
vi /etc/ssh/sshd_config
を実行し、 passwordAuthentication no を passwordAuthentication yes に書き換え、
:qw コマンドで上書き保存します。
書き換えた設定を認識させるには SSH を再スタートさせないといけないならしく、
/etc/init.d/sshd restart
とコマンドを実行します。成功すると OK がでます。



これでやっと admin ユーザーにて SSH クライアントからの接続ができるようになりました…。
さっそく vi コマンドで目的のファイルを編集します。

コピペできる!!日本語入力できる!!いいですね~…

:wq で上書き保存、、、と思ったのですが、
書き込み用にファイルを開けませんなどと怒られてしまいました。

これもググってみると、 admin ユーザーの力では、
root で制作したファイルに対して上書き等ができないようでした。

そこで、 SSH クライアントには admin で接続し、
su - コマンドで root に切り替え後、
vi コマンドで目的のファイルを編集するという手順が必要でした。

以上で、無事上書き保存ができ、更新ができました。



最後に、passwordAuthentication yes
のままだとセキュリティ的によろしくないらしく、
鍵認証を作った後に no にしておくとよいとのことだったので、次はそうしてみます。