syncoid
システムユーザーがいます
$ cat /etc/passwd
syncoid:x:993:990::/var/lib/syncoid:/run/current-system/sw/bin/nologin
次の SSH 構成を使用します。
$ cat /var/lib/syncoid/.ssh/config
Host eve
User other
HostName 192.168.10.1
ProxyJump jumphost
IdentityFile /var/lib/syncoid/.ssh/eve-syncoid
Host jumphost
ForwardAgent yes
User me
HostName 192.168.1.1
IdentityFile /var/lib/syncoid/.ssh/eve-syncoid
を使用してJumphostに接続してログインできますsudo -u syncoid ssh jumphost
。ただし、eve
サーバーに接続するsudo -u syncoid ssh -vvv eve
と
OpenSSH_8.8p1, OpenSSL 1.1.1m 14 Dec 2021
debug1: Reading configuration data /var/lib/syncoid/.ssh/config
debug1: /var/lib/syncoid/.ssh/config line 1: Applying options for eve
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 5: Applying options for *
debug2: resolve_canonicalize: hostname 192.168.10.1 is address
debug1: Setting implicit ProxyCommand from ProxyJump: ssh -vvv -W '[%h]:%p' jumphost
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/var/lib/syncoid/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/var/lib/syncoid/.ssh/known_hosts2'
debug1: Executing proxy command: exec ssh -vvv -W '[192.168.10.1]:22' jumphost
debug1: identity file /var/lib/syncoid/.ssh/eve-syncoid type 0
debug1: identity file /var/lib/syncoid/.ssh/eve-syncoid-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.8
debug1: kex_exchange_identification: banner line 0: This account is currently not available.
kex_exchange_identification: Connection closed by remote host
Connection closed by UNKNOWN port 65535
ProxyJumpを実行するには、シェルを使用する一般ユーザーである必要がありますか?
編集する:
- VPN経由でProxyJumpにログインする必要がないため、
eve
キーと設定の両方が正確です。 - 同じキー/構成で一般ユーザーを作成し、ProxyJumpが正しく機能します。
ベストアンサー1
これは実際にProxyJumpの問題ではありません。サービスは制限されたRootDirectoryを備えた強化されたシステムサービスであるため、プライベートSSHキーにアクセスできません。
秘密鍵を含むフォルダをBindReadonlyPaths
次の場所に追加する必要があります。このgithubコメント
config.services.syncoid.service.serviceConfig.BindReadOnlyPaths = [
"/var/lib/syncoid/.ssh"
];
追加コメント後に解決される予定ですこのプールリクエストを通じて未来。