SSブログ

SSHでパスワードの入力なしにログインする方法 [サーバ関連]

たとえば、スクリプトやcrontabを用いてSCP経由でファイルを自動的に転送したい場合、
パスワードの入力を求められると、自動化が行えません。

このような場合は、ログイン元のPCの公開鍵を作成し、
ログイン先のPCに置いておきます。

手順は以下の通りです。

1. ログイン元のPCにて、公開鍵を生成します。

root権限で以下を入力します。

# ssh-keygen -t dsa

パスフレーズの入力を求められますが、何も入力しないでおきます。
/.ssh/ 以下に、id_dsa.pub が生成されます。これが、公開鍵です。
この公開鍵は、1度だけ生成すれば、どのログイン先PCにも使用できます。


2. ログイン先のPCに、ログイン元のPCの公開鍵を転送します。

まず、ログイン先PCのログインユーザ(ここでは仮に username とします)ディレクトリに
.ssh というフォルダがあるかどうか確認し、存在しなければ生成しておきます。
(隠しフォルダになっているので、 ls に -a オプションをつけて確認します)
.sshディレクトリのパーミッションは、必ず700(rwx------)にしてください。

$ mkdir -m 700 /home/username/.ssh


ログイン元PCの公開鍵をSCPなどで転送します。
以下は、ログイン元PCからSCPでファイルを転送する方法です。
(USBメモリなどでコピーしてもかまいません)

# scp /.ssh/id_dsa.pub username@ログイン先IP:/home/username


ログイン先PCで以下の作業を行います。
(id_dsa.pub は ユーザディレクトリ直下においてある前提です)

$ cd /home/username/.ssh
$ touch authorized_keys2
$ chmod 600 authorized_keys2
$ cat ../id_dsa.pub >> authorized_keys2


3. ログイン元PCからSSHでログイン先にログインしてみます。

パスワードの入力なしにログイン出来れば、成功です。

タグ:公開鍵 SSH

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。