Назад | Перейти на главную страницу

Продолжайте терять соединение sshfs в Linux Mint 19

Редактировать: Я установил разработчика с новый ноутбук со свежей установкой ОС. Связь все еще была потеряна Переместил ее на другой стол (который должен быть другим портом на коммутаторе в шкафу), и соединение было потеряно. У разработчика, который раньше сидел там, где она сидит, этой проблемы никогда не было. Разрешения такие же, как и у всех остальных в ее каталоге.

У меня есть разработчик, который периодически теряет связь. Она использует PhpStorm для разработки, и ее файлы зависают, а соединение теряется.

На удаленном сервере это находится в /var/log/auth.log на момент отключения:

Aug 15 12:28:06 dev_server sshd[24443]: Received disconnect from 192.168.27.230: 11: disconnected by user
Aug 15 12:28:06 dev_server sshd[24373]: pam_unix(sshd:session): session closed for user dev_username

Вот /home/dev_username/.ssh/config:

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
##   IdentityFile ~/.ssh/id_dsa.pub
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no
    TCPKeepAlive yes
    ServerAliveInterval 120

Вот / etc / ssh / sshd_config:

#   $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

# override default of no subsystems
Subsystem   sftp    /usr/lib/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#   X11Forwarding no
#   AllowTcpForwarding no
#   PermitTTY no
#   ForceCommand cvs server

Пытался переподключиться, но ничего не вышло. По-прежнему вылетает несколько раз в день:

sshfs dev_username@dev_server:/home/www-data/dev_username /home/dev_username/dev_server -o IdentityFile=/home/dev_username/.ssh/id_rsa -o reconnect -o allow_other

Я не могу осмыслить это, и это вызывает большое разочарование с ее стороны (необходимость останавливать работу, перемонтировать сервер и т. Д.). Я пытался следить за журналами в течение дня, но не нашел ничего полезного.

Есть идеи, что могло быть причиной этого?

Трудно однозначно сказать, что происходит, но есть несколько вещей, которые нужно проверить:

  • Убедитесь, что оболочка удаленного сервера чиста. Скрипты инициализации оболочки (.bash_profile и т. д.) не должны давать никаких результатов. Затронутый пользователь должен проверить это с помощью ssh user@host true, который не должен возвращать никаких результатов. Если он что-то выводит, команду, генерирующую этот вывод, следует изменить, чтобы она больше ничего не выводила.
  • Владение или права доступа к удаленному каталогу пользователя могут быть неправильными. sshfs может выйти из строя, если обнаружит недоступные файлы или каталоги на удаленном сервере.
  • Чрезмерно агрессивные устройства NAT на сетевом пути могут прерывать сеанс, из-за чего оба конца не могут связаться и в конечном итоге пытаются восстановить соединение. Разработчик уже установил ServerAliveInterval 120 чтобы попытаться обойти это, что должно быть хорошо, но если этого недостаточно, устройства NAT должны быть более тщательно изучены. Особенно, если это домашний / SOHO роутер.