Проблема: ssh LocalCommand выполняется на локальной (клиентской) стороне, а не на удаленной, как вы хотите.  Там нет опции RemoteCommand , но вы можете взломать функциональность в вашем конфигурационном файле.   Обратите внимание, что все они предполагают, что ваш remotehost:.gnupg существует.
Вариант 1. Используйте две отдельные спецификации хоста в ~/.ssh/config:
Host remote
    HostName remotehost
    PermitLocalCommand yes
    LocalCommand ssh -f %r@%n-mount -p %p sshfs -p 10000 %u@localhost:%d/.gnupg .gnupg
Host remote-mount
    HostName remotehost
    ForwardAgent yes
    RemoteForward 10000 localhost:22
Недостатки: обе записи должны быть завершены для каждого хоста, для которого вы хотите эту точку монтирования.
Вариант 2. Объедините параметры ssh и переадресацию портов в LocalCommand:
Host remote
    HostName remotehost
    PermitLocalCommand yes
    LocalCommand ssh -f %r@%h -o RemoteForward="10000 localhost:22" -o ForwardAgent=yes -p %p sshfs -p 10000 %u@localhost:%d/.gnupg .gnupg
Обратите внимание, что небольшая разница в двух строках LocalCommand заключается в использовании% n в первом примере и% h во втором.  Это будет работать, но имеет одно огромное ПОЛОЖЕНИЕ: вы НИКОГДА не будете использовать ssh для хоста по его истинному имени и только через "короткие имена", которые существуют в вашем файле .ssh/config , в противном случае вы получите бесконечный цикл соединений ssh пытаясь выполнить вашу LocalCommand .
Вариант 3. Использование мультиплексирования SSH для настройки только одного подключения к удаленному:
Host remote
    HostName remotehost
    PermitLocalCommand yes
    LocalCommand ssh -f %r@%h -o RemoteForward="10000 localhost:22" -o ForwardAgent=yes -p %p sshfs -p 10000 %u@localhost:%d/.gnupg .gnupg
    ControlMaster auto
    ControlPersist 30m
    ControlPath ~/.ssh/controlmasters/%r@%h:%p
Я думаю, что это единственное выигрышное решение, и оно может работать даже по правилам Host * , и не имеет никаких недостатков.  Это даже решает проблему, заключающуюся в том, что вторые сеансы ssh на одном и том же хосте НЕ будут пытаться перемонтировать один и тот же каталог через sshfs.
Предостережение: еще одна проблема, которую я не удосужился решить: ваши удаленные sshfs сохранятся еще долго после выхода из системы с удаленного хоста.  Фактически, он никогда не будет unmount , если ваш локальный хост не отключится или соединение не будет разорвано.
Вы можете посмотреть на какой - то другой вариант umount , что sshfs крепление , как вы выйдите из удаленного хоста, возможно , используя такие идеи, как это.  Или вы можете играть в игры с LocalCommand для выполнения чего-то, что наблюдает и самостоятельно монтируется после того, как происходит какое-то событие триггера, но в лучшем случае кажется хрупким.
Другой вариант - заключить команды ssh в какую-либо оболочку или использовать ProxyCommand чтобы сделать что-то хитрое, но я оставлю это в качестве упражнения для читателя.