一部のフォルダをコピーするためにリモートホストにログインするために使用する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 $HOME
とchmod 700 $HOME\.ssh
aも重要です。しかし、もともと説明されたメッセージはこれを暗示していませんでした。