Sshfs с пересылкой x?

Я использую sshfs для монтирования каталогов с серверов на моем ноутбуке.

У меня также есть следующее в моем ~ / .ssh / config: ControlMaster auto

Я установил это, потому что он поддерживает единственное соединение ssh, когда я ssh на сервере. Я делаю это особенно для быстрого просмотра в emacs с помощью tramp.

Поскольку у меня есть sshfs в моем / etc / fstab, ssh-соединение из sshfs – это тот, который остается в живых. Много раз мне также нужна переадресация X11 (ssh -X -Y -C), и поскольку я всегда использую исходное соединение из sshfs, X11 не перенаправляется.

X11 работает, когда я удаляю mount sshfs из моего fstab, и я ssh на свои серверы вручную с опцией -X -Y -C.

Есть ли способ включить -X -Y-C (или подобные) для sshfs? Я попытался добавить ForwardX11 да ForwardX11Trusted да

В ~ / .ssh / config и / etc / ssh / ssh_config, чтобы принудительно включить параметр (может быть проблема с безопасностью). Тем не менее, sshfs в / etc / fstab не выбирает это.

Есть ли у вас какие-либо предложения? Благодаря!

    3 Solutions collect form web for “Sshfs с пересылкой x?”

    Путь вокруг этой проблемы заключается в использовании скрипта вместо команды ssh.

    Man-страницы sshfs (по крайней мере с 2.0 апреля 2008 г.)

    -o ssh_command=CMD execute CMD instead of 'ssh' 

    Как это:

     sshfs user@remote: mountpoint -o ssh_command='/path/to/sshcmd -Y -X -C ' 

    И вот sshcmd

     #!/bin/bash # declare array for ssh options declare -a CLEANED_SSH_OPTS declare -a ADD_OPTIONS # add options to be automatically added to the ssh command here. # example #ADD_OPTIONS=( '-C' ) # empty default ADD_OPTIONS=( ) for OPT in "$@"; do # add list of values to be removed # from sshfs ssh options case $OPT in "-x") # this and these like this will be removed ;; "-a") ;; "-oClearAllForwardings=yes") ;; *) # These are ok.. add NUM=${#CLEANED_SSH_OPTS[@]} CLEANED_SSH_OPTS[$NUM]="$OPT" ;; esac done # Start ssh with CLEANED options exec ssh ${ADD_OPTIONS[@]} ${CLEANED_SSH_OPTS[@]} # replace above exec with the next one if you ssh tunneling to run as your # local user. Like when using automatic mounts from fstab. # Please note that this has some extra security issues. #exec su YourUserName -c "ssh ${ADD_OPTIONS[@]} ${CLEANED_SSH_OPTS[@]}" 

    Добавление чего-то подобного в fstab должно позволить автоматическую установку sshfs и включить пересылку. Обратите внимание, что когда монтируется, обычно это пользователь root, поэтому вам может потребоваться внести соответствующие изменения в sshcmd (см. Последнюю строку sshcmd).

     sshfs#USERID@HOST:/TARGETPATH /MOUNT_POINT fuse _netdev,user,ssh_command=/path/to/sshcmd\040-Y\040-X 0 0 

    Вчера у меня была точно такая же проблема. Я изменил sshcmd так, чтобы он также попытался связаться с ssh-agent . Спасибо, Манве!

     #!/bin/bash # Open a ssh connection as a given user, thus using his/hers authentication # agent and/or config files. : ${ADDOPTS:="-2Ax"} : ${LOCAL:="kreator"} export SSH_AUTH_SOCK=$(find /tmp/ssh-* -type s -user ${LOCAL} -name agent* | tail -1) declare -a options=( $* ) # Remove unwanted options for (( i=0,fin=${#options[*]} ; i < fin ; i++ )) do case ${options[$i]} in (-a|-oClearAllForwardings=*) unset options[$i] ;; esac done exec /bin/su ${LOCAL} -c "$(which ssh) ${ADDOPTS} ${options[*]}" 

    Попробуй это:

     sshfs -ossh_command="ssh -A me@host1_wan_ip ssh $@" me@host2_lan_ip:/ /media/me/mount1 
    Давайте будем гением компьютера.