ssh-agentをシステムサービスとして起動して使用する方法は?

ssh-agentをシステムサービスとして起動して使用する方法は?
  1. 始める方法SSHエージェント〜のようにシステム提供する?オンラインにいくつかの提案がありますが、完全ではありません。

  2. 暗号化されていない鍵を自動的に追加する方法SSHエージェントサービスが正常に開始されましたか?たぶん、リストからキーを追加するのが~/.ssh/.session-keys良いかもしれません。

  3. 後でSSH_AUTH_SOCKログインセッションでこれをどのように設定しますか?最も正しい方法は押し込むことですSSHエージェントサービスシステムログインサービス(可能かどうかわかりません)。最も簡単な方法はに追加することです/etc/profile

ベストアンサー1

  • システムサービスを作成するには、ユーザーが隔離されたssh-agentファイルを作成する必要があります。 ~/.config/systemd/user/ssh-agent.servicessh-agent
    [Unit]
    Description=SSH key agent
    
    [Service]
    Type=simple
    Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
    ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
    
    [Install]
    WantedBy=default.target
    
  • 次へ追加
    SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"
    
    到着する~/.config/environment.d/ssh_auth_socket.conf
  • 最後に、サービスを有効にして開始します。
    systemctl --user enable --now ssh-agent
    
  • 7.2より高いSSHバージョンを使用している場合。
    echo 'AddKeysToAgent  yes' >> ~/.ssh/config
    
    ssh-addこれにより、SSHクライアントは常に実行中のエージェントにキーを追加するように指示するため、事前にキーを追加する必要はありません。

ファイルを生成するときは、以下を~/.ssh/config実行する必要があります。

chmod 600 ~/.ssh/config

または

chown $USER ~/.ssh/config

そうしないと、エラーが発生する可能性がありますBad owner or permissions on ~/.ssh/config

おすすめ記事