ssh 터널을 사용하여 다음을 사용하여 로컬 newtork 장비의 원격 서버에서 일부 데이터를 가져옵니다.

su -s /bin/bash -c "autossh -f -M 3333 -C -N -R 0.0.0.0:2222:y.y.y.y:1111 [email protected] k1001 -i /home/dbuser/.ssh/id_dsa" dbuser

일할 때도 있고 안 할 때도 있어요. 그것은 매우 신뢰할 수 없습니다.

누군가 더 나은 솔루션을 가지고 있습니까?

sshd의 일부 매개 변수가 더 잘 작동합니까?

# Package generated configuration file
# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.xxx/authorized_keys

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

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

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

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

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

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

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

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes

감사 해요

answer

SSH 터널은 방화벽을 통해 데이터를 가져오기 위한 꽤 좋은 "빠른" 솔루션이지만 X-forwarding과 같은 대화식 항목을 위해 설계되었습니다. 장기간 또는 대량 전송에는 잘 작동하지 않습니다.

가능하다면 영구적인 VPN 설정을 살펴봐야 합니다. 그렇지 않다면 터널에서 수행되는 작업의 양을 줄이고 더 배치 지향적으로 만들 것입니다. (매시간 약간의 데이터를 수집하고 실행 사이의 연결을 끊습니다)

ClientAlive 및 ServerAlive 설정을 실험할 수도 있습니다. 이렇게 하면 시스템이 암호화된 채널을 주기적으로 핑(ping)하게 됩니다. 이것은 종종 방화벽이 유휴 TCP 연결을 끊지 않도록 합니다.

Dan J Bernstein의 daemontools를 살펴보십시오.

모든 프로세스를 모니터링하고 실패하면 즉시 다시 시작할 수 있습니다. 터널과 같은 것을 유지하는 데 적합합니다. 5분 안에 설정할 수 있습니다.

http://cr.yp.to/daemontools.html

간단한 HOWTO를 보려면 다음을 확인하십시오.

http://www.nightbluefruit.com/blog/2014/04/how-to-use-dj-bernsteins-daemontools/