科学の箱

科学・IT・登山の話題

IT

sshでパスワードなしでログインする手順

投稿日:2014年6月3日 更新日:

sshでは公開鍵を設定することでパスワードなしでのサーバーログインが可能になる。この手順についてまとめておく。

サーバー側で利用するsshのバージョンを確認する。今回はVersion 2のみを利用するとする。(サーバー側作業)

$ cat /etc/ssh/sshd_config  | grep Protocol
Protocol 2

設定をするためにパスワードでのログインが可能になるようにしておく。(サーバー側作業)

$ cat /etc/ssh/sshd_config  | grep PasswordAuthentication
#PasswordAuthentication yes
PasswordAuthentication yes

クライアント側に移る。

ホームディレクトリに移動して.sshディレクトリを作成する。ホームと.sshディレクトリのパーミッションを700とする。(クライアント側作業)

$ mkdir .ssh
$ chmod 700 .ssh
$ ls -al
total 48
drwxrwxrwt. 11 usera usera 4096 Jun  3 14:37 .
dr-xr-xr-x. 25 usera usera 4096 Jan 11 02:06 ..
drwx------   2 usera usera 4096 Jun  3 14:37 .ssh

公開鍵を作成する。(クライアント側作業)

$ cd .ssh
$ ssh-keygen -t dsa

-t dsaを指定しないとrsa鍵が作成される。これはVersion1であるために接続時に失敗する。パスフレーズはブランクにしておく。

作成した鍵をサーバー側にコピーする。(クライアント側作業)

$ scp id_dsa.pub usera@server01:

サーバーに移動する。

ホームディレクトリに移動して.sshディレクトリを作成する。ホームと.sshディレクトリのパーミッションを700とする。(サーバー側作業)

$ mkdir .ssh
$ chmod 700 .ssh
$ ls -al
total 48
drwxrwxrwt. 11 usera usera 4096 Jun  3 14:37 .
dr-xr-xr-x. 25 usera usera 4096 Jan 11 02:06 ..
drwx------   2 usera usera 4096 Jun  3 14:37 .ssh

authorized_keys2を作成する。(サーバー側作業)

$ mv .id_dsa.pub .ssh
$ cat id_dsa.pub >> authorized_keys2
$ chmod 600 authorized_keys2

証明書でのログインを許可する。(サーバー側作業)

$ cat /etc/ssh/sshd_config  | grep PubkeyAuthentication
PubkeyAuthentication yes

sshdを再起動する。(サーバー側作業)

クライアントからテストをする。一回目はパスワードをきかれるかもしれないが、2回目以降はパスワードなしでログインできる。

sshのログを確認するには2つ方法がある

  • クライアント側のチェックは ssh -vvvでデバッグしてみる。
  • サーバー側は /var/log/secureでログを確認する

パスワードをきかれてしまう場合のチェック項目

  • SELinuxを無効にする
  • ホームディレクトリ、.sshディレクトリ、authorized_keys2、id_dsaのパーミッションがディレクトリについては700、ファイルについては600であることを確認する。ssh-copy-idで公開鍵をサーバー側に送るようにするとパーミッションも正しく設定してくれる
  • プロトコルのバージョンがサーバーとクライアントで一致していない。

メタ情報

inarticle



メタ情報

inarticle



-IT
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

VMWare ESXiで管理インタフェースに接続できない時の対応

esxi起動時に管理インタフェースにうまく接続できなかった。 コンソールをみるとステータス画面が表示されているのでesxiは正しく起動されている。vsphere clientから接続をすると、接続エラ …

no image

gitの使い方

git init git add \*.java git status -s or git status git commit -m “initial commit” git …

no image

ステートレスにアプリケーションを構築

ステートレスにアプリケーションを構築する方法 クッキーなどの中途半端なセッション管理は使わない Elastic Cacheの利用 一回のアクセスでトランザクションを完了 Related posts:S …

no image

muninでSNMPを監視する

muninでSNMPを監視するための手順をまとめておく。 muninはエージェントを使って対象機器を監視するがそれ以外にSNMP経由での監視もできる。エージェントがなくてもほとんどの機器ではSNMPは …

no image

Visual cue

グローバル側の設定で外部から来たメールについては、1)件名に[外部]が付加される、2)メール本文のヘッダに、”これは外部からのメールです”と表示されるようになった。 この仕組みは英語でVi …

2014年6月
« 5月   7月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー