web-dev-qa-db-ja.com

毎回ssh-addと入力しないようにする方法

ssh-agentの設定方法に関するオンラインドキュメントを読み、それに従って、sshするたびにパスワードを入力する必要がないようにしましたリモートマシン。

ただし、ssh-agentを使用すると、シェルを再起動するたびにssh-addを実行する必要があります。 ssh-addは、パスフレーズを入力して秘密鍵のロックを解除するように要求します。

Enter passphrase for key '/home/xx/.ssh/id_rsa':

リモートマシンのパスワードを入力する代わりに、秘密鍵のパスワードを入力するよう求められます。それは煉獄から出て、その後地獄にいることに気付いたようなものです。 id_rsaはセッション中のssh-agentに一時的にのみ追加されるようです。なぜなら、ログインして毎回ssh-add -lと入力するからです。私は得る:

The agent has no identities.

ssh-agentにキー(id_rsa)をどのように永続的に保存しますか?ありがとう

編集:これは私がssh-agentでしたことです。次のブロックを~/.bash_profileに追加しました

SSHAGENT=/usr/bin/ssh-agent                                                                                        
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "SSHAGENT" ]; then
  eval `$SSHAGENT $SSHAGENTARGS`
  trap "kill $SSH_AGENT_PID" 0
fi
10
ssgao

キーチェーンをインストールしました。

Sudo apt-get install keychain

Bashを実行している場合は、.bash_profileにいくつかのコマンドを追加する必要があります。bash_profileがない場合は、ホームフォルダーに作成します。次の行を追加します。

### START-Keychain ###
# Let  re-use ssh-agent and/or gpg-agent between logins
/usr/bin/keychain $HOME/.ssh/id_dsa
source $HOME/.keychain/$HOSTNAME-sh
### End-Keychain ###

仕事の最初にログインします。ターミナルを開くと、パスフレーズの入力を求められます。他のすべての新しい端末と接続については、パスフレーズの再入力は求められません。

6
walpha

あなたが探しているものは安全性が低いですが、ssh-agentを必要とせずに公開鍵認証を使用して実現できます。より安全なオプションは、sshサーバーでパスワード認証をオフにしながらパスフレーズで公開キー認証を使用することですが、これはあなたが求めたものではありません。代わりにこれを行うことにした場合の手順については、この回答の下部にあるリンクを参照してください。

パスフレーズを要求されずにsshを使用するには、パスフレーズフィールドを空白のままにしてキーペアを生成する必要があります。

すでにキーペアを生成しているかどうかを確認するには、〜/ .sshディレクトリでid_rsaファイルとid_rsa.pubファイルを確認します。それらが既に存在する場合は、それらを削除するか移動して、新しいキーペアを作成できます。

それらを削除すると、使用しているsshサーバーへのアクセスが失われ、サーバーでパスワード認証がオフになっている場合に認証する古いキーが失われます。

新しいキーペアを作成するには、次のコマンドを実行します。

ssh-keygen -t rsa

キーのデフォルトの場所を受け入れ、パスフレーズを空白のままにします。

接続するsshサーバーに公開鍵を与えるには、次のコマンドを使用します。

ssh-copy-id -i ~/.ssh/id_rsa.pub username@remotehost

これらの手順を完了すると、使用しているコンピューターからパスワードなしでリモートサーバーにログインできるようになります。

参照: http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/

1
Omegamormegil

しばらく前、突然git Pushを実行するときにsshキーのロックを解除するためのパスフレーズを求められました。パスフレーズの入力を停止するには、スタートアップアプリケーションにSSHキーエージェント(GNOMEキーリング:SSHエージェント)を追加するだけで十分であることが判明しました(私の場合、チェックボックスをオンにするだけです)。

enter image description here

0
Alexey