はじめに
業務中に耳にしたIT用語と諸々について、覚えては忘れてを繰り返しており、
そろそろ自分の底のないバケツ並みの脳みそに呆れ始めたので
とりあえずまとめました。(メモしてたことを並べただけ。。。)
これで多分きっともう絶対に忘れない。(`・ω・´)
参考
- SSHなるものをよくわからずに使っている人のための手引書
- sshで公開鍵認証を使ってアクセスする
- ターミナルでSSH (Mac OS X)
- インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識
SSHとは
そもそもなんでSSHを使わないといけないのか??
サーバを遠隔から操作するために、SSHでネットワークから接続しないといけないらしい。
SSHのいいところと特徴
暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。
パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
- SSHは「Secure Shell」の訳で、リモートシェルに特化しています。
- 公開鍵認証という仕組みを用いて、セキュアな通信を実現しています。
- プロトコルでもある。他にはHTTPとかがあるらしい。
プロトコルとは、ネットワーク上でデータを通信するための手順や規約の集合のこと
「protocol」には「規約」「議定書」といった意味がある。
引用:https://www.weblio.jp/content/%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB?edc=BINIT
HTTPもSSHもOSI参照モデルと呼ばれる層の最上位、アプリケーション層に位置している。
引用:OSI参照モデルまとめ
SSHを使えば!
リモートサーバに安全にログインできる!
ファイルをセキュアに送受信できる!!!
セキュア:
IT分野では、システムやネットワーク、データなどが安全な状態に保たれていること。
(安全を意味する英単語securityの形容詞secure)
引用:http://www.kddi.com/yogo/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3/%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2.html
とりあえず安全!!!(`・ω・´)
SSHのログイン認証方法〜安全に通信するために〜
パスワード認証
- 必要なもの:ユーザ名とパスワード(この組み合わせ一般的によく見る)
- 安全面:ユーザ名とパスワードがわかれば誰でもログインできちゃうから微妙・・・?!
- 心配の穴埋めのために:SSHの設定ファイルを変更して無効にするのが標準(は?)
公開鍵認証による接続
- 必要なもの:公開鍵(事前にローカル側で作成)と秘密鍵
- やること:公開鍵をログイン先のサーバに登録する
- 接続できる人:登録された公開鍵に対応した秘密鍵を持っているクライアントのみ
- 安全面:パスワード認証より安全
↑の、公開鍵認証について
公開鍵認証するのに必要な作業
- (クライアント側)公開鍵と秘密鍵を生成
- (クライアント側→サーバ側)公開鍵をコピーし、サーバ側に設置
秘密鍵と公開鍵
どうやってつくるの?
$ cd ~/.ssh
$ ssh-keygen -t rsa -f <filename>
ssh-keygenコマンドを叩くと、~/.sshディレクトリがまず作成され、
その中に公開鍵(id_rsa.pub)と秘密鍵(id_rsa)が作成される。
パスフレーズとは
秘密鍵を使う際に必要なパスワード
秘密鍵が盗まれた時の対策として存在するらしい。
SSHコマンド
ssh [user@]hostname [command]
リモートホストに接続してコマンドを実行する時に使用する。
-F configfile
設定ファイルを指定する。デフォルトでは~/.ssh/config
が使用される。
コンフィグ(config)とは
コンフィグとは「設定」という意味(configuration(コンフィギュレーション)の略語)
IT業界ではコンピュータ、サーバ、ネットワーク機器などの設定のこと
引用:http://it-yougo.com/system-term/%E3%82%B3%E3%83%B3%E3%83%95%E3%82%A3%E3%82%B0config/
以上!
今まで手順を覚えて事務的に叩いてたけど、なんとなく背景が見えてきた気がする。。。。orz