scpはパスワードなしで動作しません

scpはパスワードなしで動作しません

パスワードを入力せずにファイルを転送してコマンドを実行できるようにキーを作成しました。私はこのガイドを使ってこれを行います。

http://says-story.blogspot.nl/2008/01/using-ssh-scp-sftp-without-password.html

ローカル環境で、id_dsa.pubキーのchmodを600に変更します。

今このコマンドを実行すると

scp -i /home/.ssh/id_dsa.pub /prod/tool/CODELIBRARY.txt user@remoteenv:/toload

引き続きパスワードをお願いします。 Enterキーを押すと、パスワードの入力を求められます。

ただし、このコマンドを実行すると、パスワードやパスワードのフレーズなしで動作します。

ssh -v -l username remoteenv

答え1

scp -i /home/.ssh/id_dsa.pub 

このコマンドには2つのエラーがあります。一つは、このような状況が/home/.ssh存在する可能性が低いことです。 SSHキーは通常ホームディレクトリと呼ばれるディレクトリにあり.ssh、ホームディレクトリは通常と同じである/home/bobため、その.sshディレクトリはです/home/bob/.ssh

もう一つの概念的な質問はscp(またはsshまたはsftp)が与えられるべきです。プライベート鍵ファイルを渡しましたが、公開鍵ファイルを渡しました。このキーは、サーバー上のクライアントを認証するために使用されます。クライアントは自分が誰であるかを証明する必要があり、そのために他の人が知らない秘密、つまり秘密鍵を知っていることを示しています。サーバーはクライアントが誰であるかを知り、公開鍵も知っています。

scpまたは、sshデフォルトでは正しいファイルを見つけるため、キーファイルを指定しない場合に機能します。

答え2

問題は...このコマンドを実行するとき:

ssh-keygen -t dsa

キーワードの入力を求められます。

[admin@test ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

パスワードを空にしましたか?それともそこにパスワードを入力しましたか?この場合、毎回パスワードを求めるメッセージを避けるためにパスワードを空白にしておく必要があります。

答え3

私が見つけたもう一つの事実は、ファイルを編集して.ssh/authorized_keysホスト名を正規化する必要があるということです。それ以外の場合は、scp / sshコマンドで完全修飾名を使用できません。

関連情報