質問: 会社でバージョン管理を行うため、AzureDevOpsを構築しています。 そこでユーザーのSSHキーの登録があるのですが、このSSHキーは最初にAzureDevOpsからローカルにクローンするときのみ使用されるものですか? それともクローン後も安全性を保つために使用されていますか? SSHキーを登録してもしなくてもクローンができ、pushなども普通にできてしまうので セキュリティ的に大丈夫なのかと不安になりました。 そのため ・AzureDevOpsでのSSHキーのクローン時以外の役割はあるか ・SSHキーを登録する場合としない場合のサーバの安全性の違い について教えていただけませんか。 よろしくお願いいたします。
回答: SSHという語は、Secure SHell(安全な(secure)はシェル(shell))に由来していて、ネットワークを経由して他のマシンの操作を安全に操作できるようにする仕組みの事です。 「安全に」というのは、ネットワークを流れる情報が暗号化されているので、情報を盗み見したり、情報を書き換えたりすることが困難だという意味です。 SSHキーは、情報の暗号化・復号化(暗号化されたデータを元に戻すこと)につかう情報です。 SSHはマシン間の通信を安全にするための仕組みで、様々な操作(DevOps関連の操作、メール送受、ファイル転送、等々)において盗聴、データ改ざん、乗っ取りなどを防ぐ効果があります。 SSHキーがないということは、SSHを使っていないということですから、盗聴などをされる危険な状態にあるということです。 ちゃんとSSHキーを設定して、安全に運用できるシステムにすべきです。 == 例えば、二人の人が銀行に大金を預金しに行くとします。 Aさんは現金輸送車をつかって銀行に行きます。 Bさんは札束を透明なビニールバッグに入れて歩いて銀行に行きます。 どちらも、銀行で預金することに変わりはありませんが、Bさんのほうが強盗にある可能性は高いですよね。 SSHを使うと現金輸送車を使うと強盗などに合いにくい、使わないと強盗などに合いにくい、という訳で安全性で差がありますが、それを使って行われる事(銀行で預金する、借金を払いに行く、等々)によってSSHが変わるわけではありません。