本日、初めてMENTAを活用させて頂き、その際にご指摘頂いた内容や分からなかったコマンドをまとめておこうと思います!
- etc/hostsファイル
- ウェルノウンポート
- chmod 600 config
- SSHの公開鍵認証
hostsファイル(ホスツファイル
ホスト名とIPアドレスの対応付けが記載されており、名前解決してくれるファイル。
ホスト名:ネットワーク上でコンピュータを識別する為のつける「コンピュータの名前」
IPアドレス:コンピュータ向けのネットワークにおける住所
実際には少し違うが、ホスト名 ≒ ドメイン名 と考える、とDNSに役割が似ている。
違いは(正確には認識していない)、
-
hosts設定はあくまでもわりと小規模なネットワーク環境で便利なものである。
Webサーバの台数もDBサーバの台数もめちゃくちゃ増えた場合、それぞれのWebサーバのhostsファイルに正しく設定して管理する事は非常に大変になる。この時に活用可能になるのがDNS。(多分
-
あくまでも内部向けのアクセスしか管理できないこと。
開発環境にアクセスする。
反対にDNSでは、多くのIPアドレスとドメイン名の関連付けを行っており、他者(自分以外のコンピューター)が求めるIPアドレスにアクセスする際にも、案内可能。
Linuxの場合、hostsファイルはetc/hosts
に存在しており、vim
エディタを用いて変更が可能。
変更の際は、0.0.0.0 Ub_iwerks.com
のように、IPアドレス"半角スペース"ホスト名
と記載する。
ちなみにetcファイルは、そのコンピューター用のシステム設定ファイルなどを格納するために使われるディレクトリ(らしい)。
ウェルノンポート well-known ports
TCP/IPによる通信で利用されるTCPやUDPのポート番号のうち、著名なサービスやプロトコルが利用される為に予約されている0~1023番のこと。有名で確立されたポート番号ってこと(多分
TCP 22:SSH
UDP 53:DNS
TCP 80:HTTP
chmod 600 config
こちらの記事が何よりも参考になりました。
chmod モード 対象ファイル名
の順にコマンドを実行する。
chmod 600 config
は、
「所有者」に対して「読み取り」「書き込み」を付与する。
「所有グループ」と「その他」に何も付与していない。
SSHの公開鍵認証
SSHでサーバーにログインする。
=離れたサーバーに入って、自分のコンピューターでサーバーを操作できるようにすること
SSH
セキュアに接続するサービスのこと、通信内容が暗号化された遠隔運用システム
SSHの目的
- 遠隔ログイン
- 遠隔コマンド実行
- 通信のトンネル
通信の暗号化に用いる鍵はアプリが自動生成するため、ユーザが特に気にする必要はありませんが、電子署名の鍵は、用途に応じて2種類(認証鍵・ホスト鍵)と知っておく必要があります。
いずれも ( 公開鍵暗号の1種なので ) 公開鍵・秘密鍵の鍵ペアで使います。
その2種類の用途は次の通りです。が、一般にみんなが言ってる「公開鍵」は大抵1番目の「認証鍵」のことを指します。
認証鍵
公開鍵認証でユーザを識別 ( ユーザ認証 ) するときに使う鍵
原則として、SSHでアクセスするユーザが自身で作って、自身で管理する
ホスト鍵
ホスト認証で、アクセス先のサーバを識別するときに使う鍵
※各サーバが個別に持っている
※一般のユーザが作ることはない
「認証鍵」は「公開鍵認証」というユーザー認証手続きの際に用いる。
認証鍵の種類(OpenSSH形式
認証鍵の種類は大きく3つあるが、今回はgithubで用いられている「OpenSSH形式」をまとめる。
- Linux,Mac等、UNIX系OSで標準で使われるOpenSSH ( sshコマンドなど ) で使われる形式
- "id_rsa" と "id_rsa.pub" のように、秘密鍵と公開鍵のファイルが分離しており、公開鍵の方は "秘密鍵ファイル名.pub" というファイル名になる
認証鍵作成ツール
ssh-keygen
コマンド。
- OpenSSHに付属する鍵作成・変換コマンドです。
- OpenSSH形式の鍵ペアを作成することができます。
公開鍵の登録
その方法については、サーバの管理者の案内する方式に従うのが筋です。例えばGitHubの場合、次のようにsettingsメニューから登録できるように、Webページ上でメニューが整備されています。
githubのSSH接続はこの流れでやった。