我使用ssh隧道从本地newtork设备上的远程服务器获取一些数据:
su -s /bin/bash -c "autossh -f -M 3333 -C -N -R 0.0.0.0:2222:yyyy:1111 user@xxxx-l k1001 -i /home/dbuser/.ssh/id_dsa" dbuser
我有时候工作,有时候不工作。 这不是很可靠。
有人有更好的解决scheme吗?
sshd的一些参数是否更好?
#程序包生成的configuration文件 #详细信息请参见sshd(8)联机帮助页 #我们听什么端口,IP和协议 港口22 #使用这些选项来限制sshd将绑定的接口/协议 #ListenAddress :: #ListenAddress 0.0.0.0 议定书2 协议版本2的#HostKeys HostKey / etc / ssh / ssh_host_rsa_key HostKey / etc / ssh / ssh_host_dsa_key #Privilege Separation已打开,以确保安全 UsePrivilegeSeparation是 #短命版本1服务器密钥的生存期和大小 KeyRegenerationInterval 3600 ServerKeyBits 768 #logging SyslogFacility AUTH LogLevel信息 #authentication: LoginGraceTime 120 PermitRootLogin是 StrictModes是的 RSAAuthentication是 PubkeyAuthentication yes #AuthorizedKeysFile%h / .xxx / authorized_keys #不要读取用户的〜/ .rhosts和〜/ .shosts文件 IgnoreRhosts是的 #为此,您还需要在/ etc / ssh_known_hosts中使用主机密钥 RhostsRSAAuthentication no #协议版本2相似 基于HostbasedAuthentication没有 #如果您不信任〜/ .ssh / known_hosts以获取RhostsRSAAuthentication,请取消注释 #IgnoreUserKnownHosts是的 #要启用空密码,请更改为是(不推荐) PermitEmptyPasswords no #更改为是以启用质询 - 响应密码(提防问题 #一些PAM模块和线程) ChallengeResponseAuthentication no #更改为no以禁用隧道式明文密码 #PasswordAuthentication yes #Kerberos选项 #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd是的 #KerberosTicketCleanup是的 #GSSAPI选项 #GSSAPIAuthentication no #GSSAPICleanupCredentials是的 X11转发是的 X11DisplayOffset 10 PrintMotd no PrintLastLog是 TCPKeepAlive是的 #使用login号 #MaxStartups 10:30:60 #Banner /etc/issue.net #允许客户端传递语言环境variables AcceptEnv LANG LC_ * 子系统sftp / usr / lib / openssh / sftp-server UsePAM是的
谢谢
SSH隧道是一个相当不错的“快速”解决scheme,通过防火墙获取数据,但它们被devise为交互式的东西,如X-forwarding。 他们长期工作不好,或批量转移。
你应该看看build立一个永久的VPN,如果这是可能的。 如果没有,我会减less在隧道上完成的工作量,并使其更加面向批处理。 (每小时获取一点数据,并停止运行之间的连接)
您也可以尝试使用ClientAlive和ServerAlive设置。 这将导致系统定期ping通encryption的信道。 这通常会防止防火墙断开空闲的TCP连接。
看看Dan J Bernstein的守护神工具。
它可以监视任何进程,并在出现故障时立即重启。 完美的保存像隧道活着的东西。 你可以在5分钟内设置它。
http://cr.yp.to/daemontools.html
对于一个简单的HOWTO,检查:
http://www.nightbluefruit.com/blog/2014/04/how-to-use-dj-bernsteins-daemontools/