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.