ssh 不输密码远程登录

  
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


<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-1225114-1"; urchinTracker(); </script>
例:
本地主机(客户机)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
 
举例:
鍵 '/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
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)执行命令(不需密码):
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值