私は、環境構築やコマンド操作が苦手です。
いつもコピペでなんとかしのいできました。
わからない時には近くに座っているエンジニアに解決してもらっていました。
が、いよいよそんな甘えたこと言ってられなくなってきたので、ふわっとをなるべくなくそうと、インフラの勉強をし直しています。
まず手始めにSSH
について。
※私が理解している単語や仕組みの解説は飛ばしているので、初心者の方はよくわからない単語がでてきたら、しっかり調べてみてください。
参考
SSHとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
はじめてのssh
TCP/IP - Telnet / SSH
SSHの仕組み!ぼんやりとした理解だったものをすっきりさせようの会
SSHなるものをよくわからずに使っている人のための手引書
SSHとは
いろいろみて、すごく分かりやすかったのはこれ
SSHとは、パワーアップしたTelnetのこと。
Telnetとは、ネットワークに接続された機器を 遠隔操作 するために使用するアプリケーション層プロトコルのこと。
何がパワーアップしたのかというと、通信途中のすべての情報を 暗号化 する。
SSHとは、「Secure SHell」の略。
その名のとおり、セキュアな(安全な)シェル。
セキュアとは、通信内容をすべて暗号化しているので、もし通信途中で見られてしまっても、問題ないということ。
まとめます。
一言でいうと、通信内容を暗号化して、遠隔操作するよ!ってこと。
これが、
SSHとは、安全な通信プロトコルです。
みたいな感じでいろいろなところで説明されており、この言葉だけをみると、今ひとつピンとこないって思っていました。
おまけ(軽く)
どうやってセキュアにするかというと、パスワード認証か公開鍵認証の方法を使う。
パスワード認証とは、一般的なパスワードと同じで、予め合言葉を決めておき、正しい合言葉を唱えれば開きます。
つまりは、暗号化するときも、暗号化を解くときも同じパスワードを使います。
パスワード認証の問題点は、じゃあ、そのパスワードはどうやって渡すの?ってことです。
パスワードを送るときも、パスワードを設定する?じゃあそのパスワードはまた別のパスワードで・・・?
パスワードを暗号化せずに渡すのであれば、そもそも遠隔操作にパスワードはあまり意味がありません。
公開鍵認証とは、公開鍵という鍵をかける鍵と、秘密鍵という鍵を開ける鍵の2つでセットになっています。
特徴は、公開鍵でかけた暗号化を、公開鍵を使って解くことはとても困難であるということです。
秘密鍵を使えばすぐに解けます。
文字通り、公開鍵は見られても安全なので、誰でも見ることができるように公開し、秘密鍵は秘密にしておきます。
お分かりのように、ほとんどで公開鍵認証が使われています。
SSHとSSL
そして、もうひとつ私の頭をクリアにしてくれたのはこれ
よく考えてみればわかったことだが、たしかに今までよく考えたことがなかった。
SSHは、遠隔操作用。
SSLは、インターネット用。
SSHにすると、他のコンピュータを遠隔操作する際のやり取りが暗号化される。
SSLにすると、インターネットのやり取りが暗号化される。
どちらも通信を暗号化する。
どんな通信を暗号化するのかが違う。
まとめ
暗号化して安全な通信を行う、ということはわかっていましたが、実際コマンドをたたきながら、いったい今何をしているんだろうと思っていたので、私は今、遠隔操作しているんだ!と思ったら、かなりすっきりしました。
また、それがわかった上で作業を行うので、何をすればいいのかを考えやすくなりました。
まあ、遠隔操作すると書いてある記事は多くあり、その単語に私が目を止めなかったことと、何か、よりもどうやって使うのか系の記事を今までよく見ていたんだなぁ〜と思いました。
そのおかげで、鍵周りのことは割とちゃんと理解していたので。
また何か私の中のふわっとが解決したら書くと思います。
今立てている仮説
よくわからないのは、そもそもを理解していないからなのではないか
(コマンド(作業手順)を覚えていないからだけではないのではないか)
引っかかりをひとつずつとって、ふわっとをちゃんとにすることが目標です。