生成された公開鍵を使用してリモートサーバーにログインします。

生成された公開鍵を使用してリモートサーバーにログインします。

一部のフォルダをコピーするためにリモートホストにログインするために使用するzshスクリプトがあります。バイパスしたいローカルホストのパスワードを毎回尋ねるメッセージが表示されます。それ以外の場合は、パスワードを複数回入力する必要があります。

私は次のチュートリアルに従いました。 https://www.thegeekstuff.com/2008/06/perform-ssh-and-scp-without-entering-password-on-openssh/

一度は働きましたが、動作が停止しました。以下の手順に従い(そして何度もやり直しましたが)、もう機能しません。

[local-host]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):<Hit enter>
Enter passphrase (empty for no passphrase): <Enter your passphrase here>
Enter same passphrase again:<Enter your passphrase again>
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is:
31:3a:5d:dc:bc:81:81:71:be:31:2b:11:b8:e8:39:a0 jsmith@local-host

次に、ローカルホストから公開鍵の内容をコピーして/home/jsmith/.ssh/authorized_keysリモートホストに貼り付け、次のように実行しました。

[remote-host]$ chmod 755 ~/.ssh
[remote-host]$ chmod 644 ~/.ssh/authorized_keys

しかし、もう一度ログインしようとすると、

[local-host]$ ssh  jsmith remote-host

ただし、次のメッセージはありません。

Enter passphrase for key '/home/jsmith/.ssh/id_rsa': <Enter your passphrase here>
Last login: Sat Jun 07 2008 23:03:04 -0700 from 192.168.1.102
No mail.

わかりました:

jsmith remote-host's password:

私は何が間違っていましたか?

編集する

ご回答とご意見に心から感謝します。一つずつ解決するよう努力します。

  • については-l実際には使用しませんでしたが、使用しました。ssh jsmith@remote-host
  • 次のコマンドを実行すると、次の結果が出力されます。
[local-host]$ eval $(ssh-agent -s)
Agent pid 96546
[local-host]$ env | grep SSH
SSH_AUTH_SOCK=/var/folders/jq/yyp9q2fs1z5780k9l1_2ph4r0000gn/T//ssh-9ew9mjQCJWFK/agent.96545
SSH_AGENT_PID=96546

編集2

その後、次のことを試しました。

[local-host]$ ssh-add .ssh/id_rsa
Enter passphrase for .ssh/id_rsa:
Bad passphrase, try again for .ssh/id_rsa:

編集3

いいですね。リモートシステムとローカルシステムの完全な権限ツリーは次のとおりです。

/var/services/homes/user01/.ssh/

各ブランチの権限は次のとおりです(ls -ld <directory>およびls -la <file>コマンドの使用(下から上へ):

リモートシステムの場合:

drwxr-xr-x 1 user01 users 0 Oct  3 16:44 .ssh
drwxrwxrwx+ 1 user01 users 90 Oct
lrwxrwxrwx 1 root root 14 Oct  4 09:07 homes -> /volume1/homes
drwxr-xr-x 2 root root 4096 Oct  4 09:07 services
drwxr-xr-x 15 root root 4096 Oct  4 09:07 var

ローカルマシンの場合:

drwx------  7 user02  staff   224B Oct  4 09:27 .ssh/
drwxr-xr-x+ 152 user02  staff   4.8K Oct  4 09:27 user02/
drwxr-xr-x  6 root  admin   192B Jan  1  2020 /Users/

私は次に何をすべきか知っていますか?

事前にありがとう

答え1

ローカルssh-agentを実行する必要があります。 「もう一度ログインしようとしました。」で-l(または、jsmith@remote-host)を忘れました。

あなたはおそらくしたエージェントを起動し、そのssh-addセクションを完了しますが、別のセッションで実行します。私がしたことは、ウィンドウマネージャの初期化内で呼び出して、eval $(ssh-agent -s)すべてのシェルがプロキシについて知ることができるようにすることです。

$ env | grep SSH
SSH_AUTH_SOCK=/tmp/ssh-LxwUgd8tuGU3/agent.1023801
SSH_AGENT_PID=1023802

さらに、achmod 750 $HOMEchmod 700 $HOME\.sshaも重要です。しかし、もともと説明されたメッセージはこれを暗示していませんでした。

関連情報