読者です 読者をやめる 読者になる 読者になる

print 'Hello YKazu'

('Python', 'Javascript')

sshまとめ

ssh

SSHの認証方式

パスワード認証方式

リモートホストのユーザ名・パスワードで認証

公開鍵認証方式

パスフレーズ無しの秘密鍵ならば、パスフレーズ入力無しで認証される SSHサーバに公開鍵、SSHクライアントに秘密鍵を配置。

OpenSSH

SSHプロトコルのソフト。 SSHクライアントとSSHサーバの両方を持つ。 WindowsのGit Bashでも使用可能。 sshコマンド、rsync、Gitで利用される。

sshコマンド

$ ssh foo@foo-host

秘密鍵ファイルの指定

$ ssh -i ~/.ssh/id_rsa foo@foo-host

秘密鍵は無指定ならば、デフォルトで、~/.ssh/id_rsa、~/.ssh/id_dsa、~/.ssh/identity

SSHクライアント設定ファイルの指定

$ ssh -F ~/.ssh/config foo@foo-host

※設定ファイルは、デフォルトで、~/.ssh/config

ポート番号の指定

$ ssh -p 2222 foo@foo-host

リモートホストに公開鍵を登録する

~/.ssh/authorized_keys

リモートホストのユーザfooの場合、 [foo-host]/home/foo/.ssh/authorized_keysに、 SSHクライアントの公開鍵id_rsa.pubを追記しておく。

authorized_keysには、fooで接続してくる、 SSHクライアントの分だけ、 公開鍵が何行も登録される。

SSHクライアント設定ファイル

~/.ssh/config

  1. Host sshコマンドで指定するホスト名
  2. HostName リモートホストIPアドレス、またはホスト名
  3. User リモートホストのユーザ名
  4. Port SSHのポート番号
  5. IdentityFile 秘密鍵ファイルのパス

フィンガープリント

~/.ssh/known_hosts

SSHクライアントは、リモートホストの情報 (リモートホスト公開鍵のフィンガープリント)を保存する。

実装は、ホスト名またはIPアドレスから始まリ、 鍵の暗号方式(ssh-rsa)、公開鍵からなるエントリのリスト。

SSHクライントは、IPアドレスリモートホストの持つ公開鍵で、 リモートホストを識別する。

SSHクライアントは、known_hostsに登録されている公開鍵と、 リモートホストから取得した公開鍵を照合し、ホスト認証する。