mysqld конфигурационный файл - в /etc/mysql/my.cnf
на моем поле Linux - имеет a bind-address
опция. Это может быть установлено на конкретный IP-адрес, как 10.237.49.251, и MySQL затем только послушает в том интерфейсе (eth0).
Значение по умолчанию (по крайней мере, на Ubuntu) должно послушать только на localhost, иначе. петлевой интерфейс (127.0.0.1).
Иначе MySQL может послушать на всех доступных портах и интерфейсах, которые могут быть явно указаны с bind-address=0.0.0.0
.
К сожалению, это не возможно с -o
. Список ssh
опции, поддерживаемые sshfs
может быть найден в исходном коде:
static const char *ssh_opts[] = {
"AddressFamily",
"BatchMode",
"BindAddress",
"ChallengeResponseAuthentication",
"CheckHostIP",
"Cipher",
"Ciphers",
"Compression",
"CompressionLevel",
"ConnectionAttempts",
"ConnectTimeout",
"ControlMaster",
"ControlPath",
"GlobalKnownHostsFile",
"GSSAPIAuthentication",
"GSSAPIDelegateCredentials",
"HostbasedAuthentication",
"HostKeyAlgorithms",
"HostKeyAlias",
"HostName",
"IdentitiesOnly",
"IdentityFile",
"KbdInteractiveAuthentication",
"KbdInteractiveDevices",
"LocalCommand",
"LogLevel",
"MACs",
"NoHostAuthenticationForLocalhost",
"NumberOfPasswordPrompts",
"PasswordAuthentication",
"Port",
"PreferredAuthentications",
"ProxyCommand",
"PubkeyAuthentication",
"RekeyLimit",
"RhostsRSAAuthentication",
"RSAAuthentication",
"ServerAliveCountMax",
"ServerAliveInterval",
"SmartcardDevice",
"StrictHostKeyChecking",
"TCPKeepAlive",
"UsePrivilegedPort",
"UserKnownHostsFile",
"VerifyHostKeyDNS",
NULL,
};
Если бы это поддерживалось, то синтаксис был бы sshfs -o 'LocalForward=....'
Кроме того, sshfs
передачи -oClearAllForwardings=yes
опция, поэтому даже передача, определенная в ~/.ssh/config
не соблюдаются.
С тех пор sshfs
поддержки, передающие a ssh_command
, и позволяет дополнительные аргументы там, что можно сделать, вместо этого:
CODE='
for i do
[ "$i" = -oClearAllForwardings=yes ] &&
i="-oLocalForward=127.0.0.5:3306 127.0.0.1:3306"
set -- "$@" "$i"
shift
done
exec ssh "$@"
' sshfs -o ssh_command='/bin/sh -c eval\\ "$CODE" sh' user@host:/path mnt
просто опираясь на @Stéphane Chazelas ответ sshfs передает параметр -oClearAllForwardings=yes
, поэтому любая определенная переадресация не будет выполняться
, так что это поведение можно перезаписать, передав вместо этого -oClearAllForwarding=no
, это можно сделать следующим образом
sshfs -o 'ssh_command=ssh -oClearAllForwardings=no' user@host:/path/to/remote/directory /path/to/local/directory
вы можете дополнительно передать параметр LocalForwarding следующим образом:
sshfs -o 'ssh_command=ssh -oClearAllForwarding=no -L 3309:127.0.0.1:3309' user@host:/path/to/remote/directory /path/to/local/directory
бесстыдный плагин :Я написал скрипт для упрощения монтирования с помощью sshfs, который называется sshmount он устанавливает несколько нормальных параметров по умолчанию, таких как reconnect
, ServerAliveInterval=15
, sshfs_sync
и sync_readdir
на основе моего собственного опыта работы с sshfs и нескольких советов, которые я недавно получил и с сегодняшнего дня у него также будет опция -F
, чтобы не очищать все переадресации, и опция -S, чтобы указать параметры ssh xD