パスワードを必要としないように、priv/pubキーペアを使用してssh/sshfsを介してLinuxサーバーに接続するようにクライアントLinuxコンピューターをセットアップしました。私はこの方法を使用しました:
http://www.linuxproblem.org/art_9.html
クライアントで、次を使用して秘密/公開キーのペアを作成します
ssh-keygen -t rsa
.ssh
サーバー上にディレクトリを作成:ssh user@192.168.1.111
mkdir -p .sshサーバーの承認済みキーに公開キーを追加します。
cat .ssh/id_rsa.pub | ssh user@192.168.1.111 'cat >> .ssh/authorized_keys'
これは機能します。しかし、別のコンピューターで次の方法のいずれかを試すと、両方とも失敗します (注: 他の 2 台のコンピューターでこれを試しましたが、両方とも失敗しました)。
この 2 台目のコンピューターで新しい秘密鍵と公開鍵のペアを作成し、最初のコンピューターと同様に、公開鍵をサーバーにエクスポートします(これは失敗します) 。
id_rsa
andid_rsa.pub
を.ssh
新しいクライアント コンピューターのディレクトリにコピーし、それを使用します(これも失敗します)。
2 番目と 3 番目のクライアントの両方で、リモート ユーザーのパスワードを要求し続けます (キー ファイルのパスワードではありません)。これを 3 台の異なるコンピューターで試しましたが、セットアップした最初のクライアントでのみ機能します。他の人は働きません。サーバーが最初のものだけを受け入れるのはなぜですか?
ログを見ると、成功したクライアントと拒否されたクライアントに次の違いがあることがわかります。
//Rejected
/var/log/audit/audit.log:type=USER_AUTH msg=audit(1394819951.391:76): user pid=1787 uid=0 auid=4295967295 ses=4295967295 subj=system_u:system_r:sshd_t:s0-s0:d0.c1023 msg='op=pubkey acct="myuser" exe="/usr/sbin/sshd" hostname=? addr=192.168.1.138 terminal=ssh res=failed'
//Successful
/var/log/audit/audit.log:type=USER_AUTH msg=audit(1394821121.443:114): user pid=1865 uid=0 auid=4395767295 ses=4395767295 subj=system_u:system_r:sshd_t:s0-s0:d0.c1023 msg='op=pubkey_auth rport=56096 acct="myuser" exe="/usr/sbin/sshd" hostname=? addr=192.168.1.125 terminal=? res=success'
違いは、成功したものにはrport=56096
「レポート」がなく、もう一方には「レポート」がないことです。