すべてのssh-addキーをオフにする方法は?

すべてのssh-addキーをオフにする方法は?

サーバーにSSHとして接続するたびに、同じSSHキーを引き続き追加する必要があります。だから私はこれを行うスクリプトを持っていて、しばらくうまくいきました。ただし、サーバーは次のように文句を言います。

- You have too many files are open.  Close some files or increase your per-process descriptor limit.
while executing
"spawn bash -c "ssh-add [...some key]""

フルスクリプト:

#!/usr/bin/expect -f                                                            

set key [lindex $argv 0]                                                        
set pass [lindex $argv 1]   

spawn bash -c "ssh-add /path/to/.ssh/$key"                               
expect "passphrase"                                                             
send "$pass\n"                                                                  
interact 

私は何をすべきかわからず、何をすべきかわかりspawnません。ssh-addを実行すると、ps -ebashプロセスのみがあります。おそらく共有ホスティングサーバーだからでしょうか?spawnちゃんと使っていないようです。この問題を解決し、将来この問題を回避するにはどうすればよいですか?

ベストアンサー1

まず、開いているファイルの制限を確認してください。

$ ulimit -n
65536

値が小さすぎる場合、制限を増やすと問題が解決します。制限が次のような場合は、65536スクリプトが何か怪しいことをしている可能性があります。

次に、現在開いているファイルを確認します。

lsof -u your_username

その後、制限に達するためにスクリプトが開く必要があるファイルの数を計算できます。

lsof -u your_username | wc -l

ところで。 SSHキーを手動で追加するよりも使いやすくないですかForwardAgent

おすすめ記事