インフラの知識が欲しい!SSH編
※本ブログは知識を蓄えた直後に執筆されているので、間違った情報が載っていることも多々あります。そのため、メディアリテラシーを必須とします。ご了承ください。
SSHとは
SSHは、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。インストールに関してはUbuntu及びMacを用いているので、Windowsなどの場合には各自検索して行ってください。インストール以外は基本的に本記事のコマンドで動くと思います。
SSHの認証方式
接続するための認証方式はパスワード認証方式と公開鍵認証方式 の2通りがある。パスワード認証方式の方が簡単だが、公開鍵認証方式の方がセキュリティ面では良い。
SSHDのサービスの設定と開始
まずは、SSHDの設定・管理に必要なaptitudeをインストールする。
$ sudo apt-get install aptitude
$ sudo aptitude install ssh
/etc/ssh/sshd_configを編集し、PermitRootLoginの行を次のように書き換える。僕の環境でデフォルトは"PermitRootLogin prohibit-password"のようになっていた。
PermitRootLogin no
以下のコマンドでSSHDのサービスを開始することができる。
$ sudo /etc/init.d/ssh restart
これでデーモン側の設定が完了した。デーモン側で以下のコマンドにより、IPアドレスを取得しメモする。
$ ifconfig
クライアントからログイン
sshのインストールされているクライアントPCで、以下のコマンドを実行。
$ ssh user名@メモしたipアドレス
これだけでログインが完了。$の前がデーモンのターミナルと同じような表記になっていれば成功だ。
ファイルの転送
scpコマンドを用いることによってリモート・ホスト間でファイルを転送することができる。
クライアントからファイルを送信
$ scp file名 user名@ipアドレス:$home
デーモンからファイルを受信
$ scp user名@ipアドレス:file名 保存先のディレクトリ
ディレクトリは-rオプションをつけると送れる。