科学の箱

科学・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

ネットワークアダプタのLEDステータス

USのITチーム主導で各拠点に管理用デスクトップであるDELL Optiplex7050を順次導入することになった。設定はとりあえずPXE用のイメージが入っており。ネットワークにつながるとPXEブート …

no image

chefをWindowsにインストールしてVagrantでHello Worldを実行するまでの手順

Chef ChefをWindowsへインストールするときの手順はこちらで公開されている。今回のインストールはこのページを参考にして進めてみた。 こちらからChefのインストーラをダウンロードする。20 …

no image

gitの使い方

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

no image

Global Catalogサーバー

Active Directory環境ではDomainの情報がドメインコントローラ間でやり取りされる。すべての情報をやり取りすることは非効率である。その理由としては、 頻繁に使われる情報は決まっているこ …

no image

CognosでMy Folderの内容について一覧を取得する

CognosはすべてのデータをContents Managerと呼ばれるデータベースに保持している。このデータからMy Folderの中身を取得できる。 ただしデータ保持方法が特殊であるために,SQL …

2014年6月
月 火 水 木 金 土 日
« 5月   7月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー