皆様こんにちは。皆様SSHをご存知ですか。SSHとはなんなのでしょうか。
実はサーバをリモートで操作する事ができるのがSSHです。Secure Shellの略のようです。linuxを使っていると殆どの作業はコマンドラインから行えます。そんな中、コマンドをリモートから発行できるのがSSHです。応用でポートフォワードなどを行って安全なトンネルを作ってTCP通信を行うことなどもできますので、おいおい説明して行きます。
実際に使ってみないとどういうものかわかりづらいかもしれませんね。レンタルWEBサーバの中にはSSHを公開しているものもありますので、そのようなサーバーを借りて作業を行ってみると一発でわかります。XREAやcore ServerなどのサーバはSSHも公開しています。
具体的にコマンドを打っていきましょう
ssh username@server-name.com
このようにサーバー名とユーザを指定してコマンドを発行します。するとパスワードなどを聞かれますので続けて打っていきます。ログインしてしまえば、後はlinuxでターミナルを開いているのと同様の感覚でコマンドを打っていけます。linuxではコマンド作業は必須とも言える位置づけなのでコマンド操作は覚えて置くと後々役にたつかもしれません。
サーバによっては公開鍵方式を使っていて秘密鍵をローカルファイルにおいて接続するパターンもあります。そちらのほうがパスワード方式よりもセキュリティが高くなっているようです。
SSHではポートフォワード機能を使える
ポートフォワード機能はTCP通信をトンネリングして他のLAN内のサーバに転送できる機能です。これを使うことにより直接は接続できないLAN内部のサーバーにアクセスすることができます。その接続先SSHサーバと同じネットワークに所属するIPアドレスに接続できるのです。
sudo ssh USERNAME@SSH接続先サーバーIP -L ローカルポート:リモートアドレス:リモートポート
とすることによりリモートアドレスのリモートポート宛にローカルアドレスからアクセスできます。localhost:ロカールポートで、リモートアドレスのリモートポートにアクセスできます。どうでしょうか便利そうではありませんか?リモートからLAN内に入れる利便性はVPNに通じるものがあります。VPNとまでは行かなくてもこれで気軽にアクセスできるので手軽にネットワークに入り込むことができます。
この機能は大変便利なのですがネットワーク・セキュリティとして制限したい場合も出てくるので場合によってはサーバー管理者により制限されているかもしれません。デフォルトでは使用できたと思います。
AllowTCPForwarding no
がsshdにより設定されている場合には使用できません。またユーザ設定でauthorized_keysにno-port-forwarding ssh-rsa 〜キーが
キーの前に設定されている場合はユーザ設定で禁止されています。この場合も使用できません。このように禁止されている場合も有りますので、レンタルサーバなどではこの機能は使用できないかもしれません。
まとめ
いかがでしょうか?SSHは使い方によっては非常に便利に使えます。その場に出向かなくてもリモートで色々できるのは非常に便利なのです。他にもX Widdow サーバの接続を転送でできたりするのでリモートサーバーのアプリを映すことができたりもするらしいです。SSHは奥が深く非常に興味深いシステムです。皆様も便利に使ってみてください。