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.

답변2

--usercentos 7을 사용하는 경우 이 기능은 지원 되지 않으므로 systemctl이 centos 버그 보고서를 참조하세요.배송 시 시스템 사용자 지원이 중단됨

관련 정보