Sd-agent'ı systemd hizmeti olarak nasıl başlatabilir ve kullanabilirim?


16
  1. Ssh- agent'ı systemd hizmeti olarak nasıl başlatırım ? İnternette bazı öneriler var, ancak bunlar tam değil.

  2. Ssh-agent hizmeti başarıyla başlatıldıysa otomatik olarak şifrelenmemiş anahtarlar nasıl eklenir ? Muhtemelen, listeden anahtar eklemek ~/.ssh/.session-keysiyi olurdu.

  3. SSH_AUTH_SOCKDaha sonra herhangi bir oturumda nasıl ayarlanır ? En doğru yol, ssh-agent servisinden systemd-logind servisine itmektir (mümkün olup olmadığı hakkında hiçbir fikriniz yok). Sade saf yol sadece onu eklemek /etc/profile.


İnternetteki önerilerde eksik olan ne?
— Mark Stosberg

Yanıtlar:


25

Bir systemd ssh-agent hizmeti oluşturmak için, içinde ~/.config/systemd/user/ssh-agent.servicessh-agent kullanıcısı yalıtıldığı için bir dosya oluşturmanız gerekir .

[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

Ekle SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket"için ~/.pam_environment.

Son olarak bu hizmeti etkinleştirin ve başlatın.

systemctl --user enable ssh-agent
systemctl --user start ssh-agent

Ve, ssh sürümü 7.2'den daha yüksek bir sürüm kullanıyorsanız. echo 'AddKeysToAgent yes' >> ~/.ssh/config

Bu, ssh istemcisine anahtarı çalışan bir aracıya her zaman eklemesini söyleyecektir, bu nedenle önceden ssh eklemenize gerek yoktur.

~/.ssh/configDosyayı oluştururken çalıştırmanız gerekebileceğini unutmayın:

chmod 600 ~/.ssh/config veya chown $USER ~/.ssh/config

Aksi takdirde, Bad owner or permissions on ~/.ssh/confighatayı alabilirsiniz .


launchdOS X'te, bir Unix soketine erişildiğinde (ve SSH_AUTH_SOCKdeğişken yolla önceden doldurulduğunda ...) ssh-agent'ı başlatacak şekilde ayarlanır ( inetdancak bir Unix soketi gibi). Bu da mümkün görünüyor systemd. (Sistem genelinde bir hizmetin kullanıcı başına hizmet için bir seçenek olup olmadığı görmek ilginç olabilir ....)
— Gert van den Berg

Ben olsun Failed to execute operation: Process org.freedesktop.systemd1 exited with status 1ben çalıştırdığınızda systemctl --user enable ssh-agentcentos7 üzerinde
— scarba05

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.