この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
この記事について
ウズウズカレッジ様のYouTube【LinuC/LPIC合格講座】を参考にLinuxについてまとめたものです。
動画がとてもわかりやすいため、初心者の方は是非動画を見ることをお勧めいたします。
※ボリューミーな為、Part.1とPart.2に分けて投稿いたします。
目次
- Linuxの誕生
- 主なディストリビューション
- CUIとGUI
- Linuxの起動の流れ
- SSH
Linuxの誕生
Linuxが誕生したのは1991年。
フィンランドの大学生が作った無料のオープンソース。
Linuxのメリット・デメリット
★メリット
・ほとんど無料。
・スペックが低いコンピュータでも動く。
・業務のための環境(サーバなど)を構築するためのソフトウェアが多い。
・目的に応じたカスタマイズの自由度が高い。
★デメリット
・WondowsやMacで使えていたアプリケーションが使えないこともある(ExcelやWordなど)。
・基本的にサポートが充実していない。
・WindowsやMacに比べて用語や操作法が直感的ではない。
主なディストリビューション
★Red Hat系
・RHEL・・・有料/サポートが充実している。
・CentOS・・・無料で利用できるが、商用サポートは充実していない。
★Debian(デビアン)系
・ubuntu・・・初心者用。WindowsやMacと操作感が近い。ubuntuソフトウェアセンターで様々なフリーソフトを簡単に導入できる。
CUIとGUI
★CUI(Character-based User Interface)
コマンドを入力して操作すること。
パソコンの性能が低くても快適に動作する。
様々なコマンドを覚える必要がある。
★GUI(Graphical User Interface)
・キーボードだけでなく、マウスでも操作できる。
・絵やアイコンも表示される。
・学習しなくても直感的に操作できる。
・CUIに比べて高い性能が必要になる。
Linuxの起動の流れ
電源入る
↓
BIOS/UEFIが起動
・ハードウェアをチェック
・ブートローダを実行しOSを起動
↓
Linux(OS)が起動
・ユーザー選択
・パスワードを入力
CUI環境でのログインの方法
loginとpasswordを入力
↓
以上
CUI環境のシャットダウンのコマンド
★前提として
Linuxは、マルチユーザー(複数のユーザー)で使っている場合が多いため、シャットダウンは滅多にしない。
基本的にはRootユーザーのみができる。
★ Debian系のコマンド
$ sudo shutdown -h now
root権限を得て システムを終了して! 電源オフ! 今すぐ!
★RHEL系のコマンド
$ su - ...rootユーザーに代わって
# shutdown -h now ...システムを終了して! 電源オフ! 今すぐ!
※ #はrootユーザーになっているよ、という意味
shutdownコマンドのオプション
下記のオプションを組み合わせてコマンドを打つことができる。
-h, -p, --poweroff ...システムを終了して電源を切る。
-H, --halt ...システムを終了させる。
-r, --reboot ...システムを終了して再起動する。
-k ...システムを終了せずに、メッセージだけ送る。
-c ...システム終了をキャンセルする
--no-wall ...シャットダウンやキャンセルの時にメッセージを表示しない
例: 5分後にシャットダウンすることをメッセージで通知し、5分後にシステムを終了し電源を切る。
# shutdown -h +5 "shutdown in 5 minutes"
システムを終了して電源を切って! 5分後に! ””の中身はメッセージ。
SSH
SSH(Secure Shell)とは、ネットワークに接続された機器の通信を暗号化することで安全にする”仕組み”。
主にOpenSSHというソフトウェアを使って通信が行われる。
<認証するための方法>
★パスワード認証方式(人間が管理するので危ない)
・あらかじめ設定したパスワードを入力して接続
・安全性が低い(パスワード流出のリスクあり)
・設定が簡単
★公開鍵認証方式(一般的にはこちらを使う)
・公開鍵ファイル(文字の羅列)を用いて接続
・安全性が高い
・設定が難しい
公開鍵認証方式について
★前提として
SSHクライアント側(秘密鍵・公開鍵を持っている)
↓
SSHサーバ(クライアント側から公開鍵を事前にもらっておく)
★通信開始するとき
①SSHクライアント → 「ログインしたい!」 → SSHサーバ
②SSHクライアント ← 「公開鍵で作った暗号化を送信」 ← SSHサーバ
③SSHクライアント → 「秘密鍵で復号化した内容を送信」 → SSHサーバ
④SSHクライアント ⇄ 暗号化された通信を開始 ⇄ SSHサーバ
渡した公開鍵を持っていることがわかれば、正しい接続先だ!と認識する。= これを「ホスト認証」と呼ぶ。
SSHに関係するファイル(クライアント側)
★SSHに関係するファイル名
ssh_config ...クライアント側のSSHの設定
id_rsa ...SSHの秘密鍵
id_rsa.pub ...SSHの公開鍵
known_hosts ...接続先サーバーの情報や送られてきたホスト認証のための公開鍵
★ディレクトリ
ユーザー別にホームディレクトリ直下の「.ssh」ディレクトリに保存される
例)/home/tanamoru/.ssh/ssh_congif ※こちらが優先
例)/etc/ssh/ssh_config
SSHに関するファイル(ホスト側)
sshd_config ...ホスト側のSSHの設定
ssh_host_rsa_key ...SSHのホスト側の秘密鍵
ssh_host_rsa_key.pub ...SSHのホスト側の公開鍵
authorized_keys ...クライアント(ユーザー)によって登録された公開鍵のリスト
★ディレクトリ
基本的に「etc」ディレクトリの直下「ssh」ディレクトリに保存される。
「authorized_keys」のみ、ホームディレクトリ直下の「.ssh」ディレクトリに保存される。
例)etc/ssh/sshd_config
例)/home/tanamoru/authorized_keys
公開鍵と秘密鍵のペアを作成のコマンド
$ ssh-keygen ...公開鍵と秘密鍵を作成して!
公開鍵をリモートホストに登録
$ ssh-copy-id testuser@testhost ...ssh-copy-id 接続先アカウント名@接続先ホスト名IPアドレス
登録するためにはパスワード方式などの他の認証が有効である必要がある。
公開鍵はサーバ側の「~/.ssh」ディレクトリの「authorized_keys」ファイルに書き込まれる。
SSHでリモートホストにログイン
$ ssh testuser@testhost ...ssh 接続先アカウント@接続先ホスト名IPアドレス
SSHリモートホストからログアウト
$ logout
$ exit
Ctrl + D