同僚に ssh って簡単に説明すると何?と質問を受けた。
私は、ssh をただのサーバーにアクセスするために使うコマンド
くらいとしか認識していなかった。
そこで少し調べてみた。
ssh とは
ssh は、Secure SHell(セキュアシェル)の略。
sshとは、主にUNIXコンピュータで利用される、ネットワークを介して別のコンピュータにログインして操作するためのソフトウェアの一つ。通信経路が暗号化されるため、インターネットなどを経由しても安全にアクセスすることができる。
その昔は、telnet
というコマンドを使って平文で接続していたが、安全性にかけているため現在では ssh による接続が一般的のようだ。
なぜセキュアなのか?
ssh といっても接続方法には二種類ある。
- パスワード認証
- 公開鍵認証
パスワード認証については、ID/PWさえ分かってしまえば接続できてしまうため、それほど安全ではない。基本的には公開鍵を使った認証による接続が良い。
なぜセキュアかを、超簡単にいうと、公開鍵で暗号化した通信内容はその対になる秘密鍵が無いと暗号を解読できないから。
公開鍵認証の仕組みについて知りたい場合は、以下
公開鍵暗号について理解が足りていなかったのでメモ
やその参照先の
鍵交換方式による認証
を読んでみるといいと思います。
OpenSSH とは
ssh の仕組みを簡単に使えるようにしたオープンソースのソフトウェア
https://www.openssh.com/
ssl とは違うのか
ssl は、セキュアソケットレイアーの略。
公開鍵認証を使って、 TCP/IP での暗号化通信を行うプロトコルで、トランスポート層を利用する。(ssh はアプリケーション層)
ssl 3.0 から名称が、TLS に変わったらしい。
参考: http://e-words.jp/w/SSL.html
ssh についてのその他。
ssh が22番ポートを使用するようになったのは、学生の提案
randomart
randomart は、ssh-keygen
で公開鍵を生成した時に表示される AA みたいなやつ。
SSHなるものをよくわからずに使っている人のための手引書::Q. 「randomart」ってなに?
ssh接続する度にこの絵柄を表示して、ローカルの鍵(~/.ssh/id_rsa
)が書き換えられていないか確認するという考え方はおもしろい。
scp と sftp
いずれもリモートコンピュータと ssh を使用してファイルやり取りする方法だが、以下のような違いがある。
◆SCP
・転送の再開ができない。
・SFTPに比べて高速(と言われている)
・フォルダの送信はできない。(クライアントソフトを用いれば可能)◆SFTP
・転送を中断しても、途中から再開できる。
・SCPよりも転送速度が遅い