ssh(Secure Shell)を導入しているホスト間でパスワードを入力せずにログインすること を可能にする方法を解説します。 【概要】 ssh は、接続先によって使用する protocol version が決定されます。 バージョンにより、設定方法が異なりますので、ご注意ください。 Turbolinux Server 6.5 より、version 2 が優先的に利用されています。 ssh の protocol version 1 は、ログイン時にRSA認証を行います。 そのために、事前に ssh-keygen を実行し、RSA キーの組を作成しておきます。 ssh-keygen を実行すると、プライベートキーは~/.ssh/identity に、 公開キーは ~/.ssh/identity.pub に作成されます。 この identity.pub を、リモートマシンの ~/.ssh/authorized_keys にコピーしておく ことによって、パスワードを毎回入力することなくログインすることができるように なります。RSA 認証は、rhosts 認証に比べて、より安全です。 ssh の protocol version 2 は、ログイン時にDSA認証を行います。 そのために、事前に ssh-keygen を実行し、DSA キーの組を作成しておきます。 ssh-keygen を実行すると、プライベートキーは~/.ssh/id_dsa に、 公開キーは ~/.ssh/id_dsa.pub に作成されます。 この id_dsa.pub を、リモートマシンの ~/.ssh/authorized_keys2 にコピーしておく ことによって、パスワードを毎回入力することなくログインすることができるように なります。 【手順】 以下の解説の中で、local$ はローカルホスト上での操作を、remort$ はリモート ホスト上での操作を表すプロンプトです。 [SSH protocol version 1 の場合] (1) RSA キーを生成します。 local$ ssh-keygen * 出力するファイル名、パスフレーズの入力を求められますが 何も入力せずに全てEnteyキーを押下して下さい。 (2) 公開キーをリモートホストにコピーします。 local$ scp ~/.ssh/identity.pub name@remort.host: (3) リモートホストにログインし、authorized_keys ファイルを生成します。 local$ ssh name@remort.host remort$ cd .ssh/ remort$ touch authorized_keys remort$ chmod 600 authorized_keys remort$ cat ~/identity.pub >> authorized_keys remort$ rm ~/identity.pub (4) 設定完了です。動作を確認します。 remort$ logout local$ ssh name@remort.host [SSH protocol version 2 の場合] (1) DSA キーを生成します。 local$ ssh-keygen -t dsa * 出力するファイル名、パスフレーズの入力を求められますが 何も入力せずに全てEnteyキーを押下して下さい。 (2) 公開キーをリモートホストにコピーします。 local$ scp ~/.ssh/id_dsa.pub name@remort.host: (3) リモートホストにログインし、authorized_keys2 ファイルを生成します。 local$ ssh name@remort.host remort$ mkdir .ssh remort$ chmod 700 .ssh/ remort$ cd .ssh/ remort$ touch authorized_keys2 remort$ chmod 600 authorized_keys2 remort$ cat ~/id_dsa.pub >>authorized_keys2 remort$ rm ~/id_dsa.pub (4) 設定完了です。動作を確認します。 remort$ logout local$ ssh name@remort.host 【注意】 .ssh/authorized_keys(2) のパーミッションは、所有者に対しては read/write を許可し、 他のユーザーには、アクセスを許可しないで下さい。同ファイルに至るディレクトリの パーミッションにも注意して下さい。ユーザー以外に write を許可してはいけません。 パーミッションが正しく設定されていないと、パスワードを要求されてしまいます。 sshdへのアクセスは/etc/hosts.allowファイルの設定で許可しておく必要があります。 【参考】 protocol version の優先順位を変更するには、設定ファイルの Protocol 項目を修正 してください。 [/etc/ssh/sshd_config] ------------------------- Protocol 2,1 ------------------------- [/etc/ssh/ssh_config] ------------------------- Protocol 2,1 -------------------------

ssh authorized_keys ssh-keygen
関連文書
(none)

Last modified : Fri Feb 08 JST 2002 # 2

例:
本地主机(客户机)IP:192.168.5.254 用户:fdsagent
远程主机(服务机)IP:192.168.5.36 用户:fdsagent
客户机上:
# cd /export/home/ fdsagent
# mkdir .ssh
# cd /export/home/fdsagent/.ssh
# ssh-keygen -t dsa
公開
/非公開 dsa 鍵のペアを生成しています。
鍵を保存するファイルを入力してください
(/export/home/fdsagent/.ssh/id_dsa):(Enter)
パスフレーズを入力してください
(パスフレーズなしの場合は空): (Enter passphrase)
パスフレーズをもう一度入力してください
: (Enter passphrase)
識別情報が
/export/home/fdsagent/.ssh/id_dsa に保存されました。
公開鍵が
/export/home/fdsagent/.ssh/id_dsa.pub に保存されました。
鍵のフィンガープリント
:
9f:fb:52:e9:60:4b:d0:12:04:59:dc:9e:b7:ce:e1:e8 fdsagent@FDES_UT
# ls
id_dsa id_dsa.pub known_hosts
# scp /export/home/fdsagent/.ssh/id_dsa.pub fdsagent@192.168.5.36: /export/home/ fdsagent/.ssh/authorized_keys
ホスト
'192.168.5.36 (192.168.5.36)' の認証を確立できません.
RSA 鍵フィンガープリントは 3f:f9:c0:86:92:20:37:a2:e8:42:d8:5a:1c:5f:8e:37 です
本当に接続を継続してもよろしいですか
(yes/no)? yes
警告
: 既知ホストのリストに '192.168.5.36' (RSA) を追加しました。
繝代せ繝ッ繝シ繝: (Enter passwd)
id_dsa.pub
100% |*****************************| 603 00:00
A
服务机上:
# cd /export/home/fdsagent/.ssh
# ls
authorized_keys known_hosts
# chmod 600 authorized_keys
举例:
1)# ssh
fdsagent@192.168.5.36
鍵 '/export/home/fdsagent/.ssh/id_dsa' のパスフレーズを入力してください: (Enter
passphrase)
Last login: Sun Jan 14 18:50:50 2007 from 192.168.5.254
Sun Microsystems Inc.
SunOS 5.10 Generic January 2005
$
2)# scp /export/home/fdsagent /test.txt
fdsagent@192.168.5.36: /export/home/ fdsagent/
鍵 '/export/home/fdsagent/.ssh/id_dsa' のパスフレーズを入力してください: (Enter
passphrase)
test.txt
100% |*****************************| 736 00:00
$3)# sftp
fdsagent@192.168.5.36
192.168.5.36 に接続しています...
sftp>
注意 :当输入的
passphrase
不正确
时
,要求
输
入
远
程登
录
用
户
密
码
鍵 '/export/home/fdsagent/.ssh/id_dsa' のパスフレーズを入力してください:
繝代せ繝ッ繝シ繝:
峨ヱ繧ケ繝ッ繝シ繝:
峨ヱ繧ケ繝ッ繝シ繝:
宴Aクセス権がありません (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interac
tive)。
接続を切断しました
$
远
程登
录
之前:
1
)在
$HOME/.profile 脚本
中写入以下内容后保存:
if [ "$SSH_AUTH_SOCK" = "" -a -x ssh-agent ]; then
eval `ssh-agent`
fi
2
)
执
行命令:
# ssh-add
/export/home/fdsagent/.ssh/id_dsa のパスフレーズを入力してください: (Enter
passphrase)
識別情報が追加されました: /export/home/fdsagent/.ssh/id_dsa (/export/home/fdsagent/.ssh/id_dsa)
3)执行命令(不需密码):
# ssh
test@192.168.5.251
Last login: Sun Jan 14 18:55:34 2007 from 192.168.5.254
Sun Microsystems Inc.
SunOS 5.10 Generic January 2005
$
若服务器重启,再次登录需要执行ssh-add命令并输入
passphrase
,之后
远
程登
录
不需
passphrase
或用
户
密
码
。
不使用
ssh-add
,
每
次
远
程登
录
都需要
输
passphrase