
SSH接続方法はRLoginがおすすめ!FTPパーミッションが変更できない時はお試しを
とあるクライアントのWEBサイト更新の際にFFFTPからはファイルの操作(アップロード・更新)が一切できない事がありました。
ルート権限が解放されていないデータへの操作の場合は、FTPアクセスよりSSH接続をした方が更新できる場合があります。
そもそもSSHとは何か。SSH接続の方法やお手軽なターミナルソフト「RLogin」をご紹介しています。
SSH接続方法はRLoginがおすすめ!FTPパーミッションが変更できない時はお試しを
今回の記事はFTPでファイルの操作が全く効かない箇所(ルート権限がない区画)に存在するファイルを更新する際、調べた覚書になります。
今回はFTP接続ではなくSSH接続をする事で、無事にファイルを更新する事ができました。
FTPで接続してもアップできなかったり、パーミッションが変更できないなどの事象にぶち当たった場合は、このSSH接続を試してみて下さい。
RLogin:ターミナルソフト
ちなみに「RLogin」と言うソフトが、コマンド命令をすることなくFFFTPのような感じでファイルをアップする事ができます。
通常はコマンド入力する事でいろいろな通信をしますが、今回はファイル転送の部分に着目して紹介しています。
SSH接続とは
SSHとはSecure Shell(セキュアシェル)の略称です。
暗号や認証の技術を利用して、サーバーなどネットワークに接続された機器と安全に通信・管理するための仕組みです。
SSHを利用するためには、SSHプロトコルを使用できるソフト(例えば、Puttyなど)が導入されている必要があります。
Putty画面
そしてサーバー側とクライアント側とでSSHソフトウェアが起動されている必要があります。
SSHの認証方式
SSH通信では、通信してやりとりする相手が本当に正しいかを確認するための認証が必要になります。
SSHのユーザー認証方式には「パスワード認証方式」と「公開鍵認証方式」の2種類があります。
パスワード認証方式
パスワード認証方式は、ユーザー名とパスワードでログインする方式です。
サーバー名・ユーザー名とパスワードは一般的にレンタルサーバーなどで開設されているユーザーアカウント情報を使用します。
パスワードを強力にして、管理を徹底するのであればパスワード認証方式でも問題は無いと言えます。
ユーザー任せではセキュリティが脆弱
ただしこのパスワード認証方式は確かに手軽なのですが、セキュリティ的な危険を伴います。
もしこのパスワードが流失してしまうと、悪意をもった第三者からサーバーにログインされてしまう可能性があるからですね。
パスワード管理などはユーザーの管理レベルによるので、常に一定の危機管理している事にはなりません。
公開鍵認証方式(SSHキーペア方式)
登録された公開鍵に対応した秘密鍵を持っているクライアントのみが接続できる認証方式です。
「パスワード認証」と比べ事前の準備が必要ですが、より確実で安全な認証です。
複雑な暗号化によるセキュリティ維持
このようにSSHサーバーとSSHクライアントの通信内容は常に複雑に暗号化されるようになっています(+パスフレーズをつけれる)。
この暗号化の仕組みがSSHとFTP等との大きな違いとなっています。
公開鍵認証方式について
公開鍵認証方式は、クライアントとサーバーとで持つ「公開鍵」「秘密鍵」を利用して安全な通信を実現する方法です。
「公開鍵」「秘密鍵」は、SSHサーバー・SSHクライアントのいずれかで作成します。
鍵交換による共通鍵暗号方式
鍵交換では、通信を開始する際にお互いの公開鍵を交換します。
各々が交換した秘密鍵と公開鍵を組み合わせて、鍵交換した双方のみが把握できる共通情報を生成します。
ここで得られた生成情報が共通鍵暗号方式の鍵(暗号鍵)として利用されます。またそこからセッションIDも生成されます。
それによりサーバーとクライアントだけの安全な通信を実現する仕組みが実現できるのですね。
FTPとSSHはどう違うのか
元々は随分前からファイル転送の目的でFTPが使われており、その後に暗号化通信を実現するためにSSH接続ができるようになった経緯があります。
現在はFTPでもSFTPなどの様に暗号化されるようになったという意味では両者に違いは無いように感じます。
ルート権限が解放されていない箇所の更新
しかし今回はSSHを使わなければならない決定的な事象が発生しており、この記事を書く理由につながっています。
元々SSHは強固な暗号化による通信が可能であるとは知っていました。
今回はそれ以外に、レンタルサーバーがルート権限を設けていない箇所の更新がFTP接続ではできなかったのに、SSH接続ではできた事がきっかけとなっています。
FTP接続でパーミッションの変更ができない(ファイル更新ができない)
今回の経緯
現在のクライアントの前任の担当者が、レンタルサーバー側が提供しているルート権限の区画(たとえばpublic_htmlの中など)以外に強引にデータを設置していました。
レンタルサーバー会社の中には、複数WEBサイトを運営するための追加ドメインの設置を、サーバー運営側に申請しなければならないところがまだあります。
申請するという事はつまり、複数サイト運営に別途料金が掛かる事になるのですね。
現在主流のサーバーでは有料となるケースはほとんど無いのかも知れませんが、そういった古い形式のレンタルサーバーがまだ稼働しているのも事実です。
FTPではルート権限のない箇所は更新できない
当時、その前任担当者は追加契約をしたくないがために、ルート権限のない区画(public_htmlの外)にデータを入れて稼働させていた様です。
運営側が解放している権限の外にあるファイルについては、パーミッション制御されているためFTPで接続をしてもファイル操作ができません。
アップロードもできないし書換ができないので、更新ができないという状態になりました。
しかし今回SSHで接続をする事で、ファイルの上書き更新ができるようになったのですね。
ですのでSSH接続も覚えておいて損はありませんね。
あわせて読みたい関連記事
WindowsでSSHに接続する方法
Windowsの場合は専用のSSH接続ソフト(ターミナルソフト)が入っていないので、ダウンロードして使う必要があります。
主なターミナルソフト
・PuTTY(パティ)
・Tera Term(テラ ターム)
・RLogin(アールログイン)
いずれも画面上で接続・設定できるので便利です。
パスワード認証のパスワードや公開鍵認証のパスフレーズも、最初に設定・保存してしまえば接続時には入力の必要はありません。
踏み台サーバー(SSHゲートウェイ)経由の接続設定もできますが、複数の踏み台を経由する接続には対応していません。
MAC/LinuxでSSHに接続する方法
ちなみにMacまたはLinuxの場合は、元々ターミナルソフトが入っているため、すぐにSSHに接続する事ができます。
ターミナルソフトの開き方
「アプリケーション」→「ユーティリティ」に行き、「ターミナル」をダブルクリックします。
次の形式のコマンドを入力します。
ssh username@hostname -p portnumber
RLoginのインストール
今回は一番手っ取り早いRLoginというターミナルソフトを使ったSSH接続をおこないます。フリーのソフトです。
まずはRLoginをサイトからダウンロードしましょう。RLoginの公式サイトを開きます。
RLoginサイト
ダウンロードする実行ファイルの種類
・実行プログラム(32bit)
・実行プログラム(64bit)
お使いのWindowsの環境によってどちらかをダウンロードしましょう。
ビット数の調べ方
※Windows10の場合 : スタートアイコン → 設定→システム→バージョン情報→デバイスの仕様→システムの種類で調べる事ができます。
ダウンロードが完了したら、保存したzipファイルを解凍しましょう。
RLoginによるサーバーへのSSH接続方法
それではRLoginを使ってサーバーにSSH接続をしてみましょう。
RLogin.exeをダブルクリックして起動します。
中央に表示された窓内の右欄にある「新規」ボタンをクリックします。
必要情報を入力して設定
・エントリー/コメント : 任意の接続先の名前を記述
・プロトコル:「ssh」を選択
・ホスト名 : 接続したいサーバのIPアドレスを入力
・プロトコル : sshを選択
・ログインユーザー名 : LinuxのユーザーIDを入力
・パスワードパスフレーズ : ユーザーのパスワードを入力
・デフォルト文字セット : 「UTF-8」を選択
ちなみに公開鍵認証の場合は、右下の「SSH認証鍵」ボタンをクリックして秘密鍵を選択しましょう。
設定が終了したらOKを押しましょう。
追加された情報を選択してOKを押します。
これでサーバへSSHで接続できましたね。
SSH接続完了の状態
ログアウトするには、コマンドの欄に「exit」と入力して、Enterを押しましょう。
exitと入力してEnterを押すと画面がグレーになって接続が終了します。
RLoginを使ったファイル転送
コマンド入力はせずに、上部メニューの「ファイル転送」のアイコンを押しましょう。
FFFTPのような小窓画面が開きます。見た事がある様な画面だと安心しますよね。
使い方はまさにFFFTPソフトなどと一緒です。転送したいファイルを左画面から右画面へドラッグ&ドロップするだけです。
これでFTPでは更新ができなかったところも更新ができるようになります。パーミッション変更などの必要もありません。
終わりに
今回はSSH接続においてコマンド入力など具体的な操作方法を紹介するものではありません。
FFFTPなどでファイルの転送ができない箇所に遭遇した場合に、SSH接続によるファイル転送を試してみて欲しいという主旨です。
RLoginは視覚的にファイルを転送できるため
RLoginであればファイル転送の際にコマンド入力をしなくてもFFFTPの感覚でファイルの更新ができる事がわかったため、今回紹介をしたまでです。
なので他のPuttyやTera Termなどと差別化している訳ではありません。
あくまでコマンド入力などをしたことが無い人向けの紹介ではありますが、このSSH接続にて解決につながれば幸いです。