几个月来,我一直通过SSH隧道连接到运行在本地testing服务器上的MySQL实例,没有任何问题。 突然之间,没有任何变化,我可以想到,服务器已经开始拒绝来自Sequel Pro的login尝试,错误是: 无法连接到主机127.0.0.1,因为访问被拒绝。 仔细检查您的用户名和密码,并确保您的当前位置的访问是允许的。 MySQL说:拒绝访问用户'root'@'localhost'(使用密码:是) 当通过SSH直接连接到服务器时,我可以通过terminallogin,而不是通过SSH隧道。 这个问题并不是特定于Sequel Pro或者仅仅是我自己,当通过MySQL Workbench连接时,和其他人一样,我也遇到同样的错误。 为了理智,我已经用mysqladmin重置了密码,这绝对不是问题。 当我开始研究它时,我发现错误是将服务器报告为“localhost”,而不是我在Sequel Pro中input的“127.0.0.1”。 一个朋友build议这可能只是错误的处理,但似乎很奇怪,因为本地主机和MySQL中的127.0.0.1之间的显着差异。 为了解决隧道问题,我授予对root @%的访问权限,以便我可以直接连接。 这大部分工作,我可以查看表数据,创build新的数据库等。唯一的问题是,当我来创build用户我得到的错误: 访问拒绝用户“root”@“%”(使用密码:是) 奇怪的是用户实际上是创build的,我认为这只是一个授权问题。 虽然如此,从terminal我可以做任何事情,当以root身份login。 任何人都可以帮助揭示为什么隧道连接和(可能)授予命令正在接收拒绝访问错误? 为了参考,MySQ版本是5.6.16,主要是默认设置,通过MAC OS X Server机器上的Homebrew安装。 更新 以下是根目前被授予访问权限的主机列表: mysql> select host,user from mysql.user where user='root'; +—————-+——+ | host | user | +—————-+——+ | % | root | | 127.0.0.1 | root | | ::1 | root […]
是否有简单的方法来路由所有stream量通过ssh代理与-D? 我可以configuration个别特定的应用程序来做到这一点,但我想要一个configuration,路由机器上的所有stream量。 谢谢你的帮助!
我通过autosshbuild立了一个隧道。 这工作: autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected] 我想在后台运行autossh。 似乎很容易使用-f选项。 但是这不起作用: autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected] Autossh在后台运行正常,但ssh连接似乎每次都失败。 在/ var / syslog中,我看到多个出现的: autossh[3420]: ssh exited with error status 255; restarting ssh 我究竟做错了什么? 一个疯狂的猜测是它与通过密钥文件进行身份validation有关。 我怎样才能debugging(添加-v到ssh选项似乎不logging任何地方)。 编辑:我有一些使用-y选项的ssh日志 /usr/bin/ssh[3484]: debug1: Next authentication method: publickey /usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_rsa /usr/bin/ssh[3484]: […]
我想编写一个shell脚本(目前使用bash)来自动备份远程服务器上几个MySQL模式的内容。 远程服务器被locking,只允许SSH访问,所以我必须创build一个SSH隧道,然后对各种模式运行mysqldump 。 我可以创build一个没有任何问题的隧道,但我希望能够在数据库转储完成后自动closures它。 目前我的脚本是这样做的: /usr/bin/ssh -T -f -L 4444:127.0.0.1:3306 -l remoteuser 208.77.188.166 sleep 600 /usr/bin/mysqldump –compress -h 127.0.0.1 -P 4444 -u user -ppassword db1 | gzip > /root/backups/snapshot/db1.sql.gz /usr/bin/mysqldump –compress -h 127.0.0.1 -P 4444 -u user -ppassword db2 | gzip > /root/backups/snapshot/db2.sql.gz /usr/bin/mysqldump –compress -h 127.0.0.1 -P 4444 -u user -ppassword db3 | gzip […]
我的家庭networking中有两台物理服务器,linux( 192.168.8.x )和windows server 2008( 192.168.8.y )。 Linux服务器不能通过ssh在非标准的端口上访问(比如23008)。 如何通过Linux上的SSHbuild立一个永久的RDP隧道? 我知道我可以在外部机器上使用腻子,但我不知道如何正确地在Linux上设置sshd。 感谢任何提示!
我正在使用ssh -D 8080 my server来创build一个SOCKS代理。 然后,我将OS Xconfiguration为使用localhost:8080作为SOCKS代理。 我正在使用它来访问互联网而不被监控。 我正在使用Google的DNS服务器(8.8.8.8),但是如何确保DNS查询正在通过SSH隧道?
我试图用SSH来做一些非常不寻常的事情(对我来说),但是我不能得到它的工作,希望你能帮上忙。 我想用我的Macbuild立到远程服务器的连接。 到现在为止还挺好。 现在,棘手的一点,连接到远程服务器build立我想然后启动连接从远程服务器返回本地计算机。 我知道,疯了。 基本上我需要跳过这些环节才能够浏览远程服务器,然后将文件信息发送回本地机器,以便本地机器上的应用程序可以处理这些信息。 希望这是有道理的! 现在,如果我login到远程服务器后SSH回到本地机器,terminal将坐在那里呼啸而过,即使-v也没有错误。 我试图通过查看$ SSH_CLIENTvariables的输出来发现我应该调用的位置,但是我在一个标准的vanillanetworking连接(没有静态IP地址),我认为这可能是导致问题的原因。 我已经确定的事情:我在Mac(OS X 10.6.4)上,并且在系统偏好设置/共享中启用了远程loginfunction如果我尝试从局域网外的另一台计算机上将SSH连接到我的Mac,我可以连接没有问题。 如果我尝试从远程服务器SSH到另一台服务器(不是本地计算机),我可以连接没有问题。 所以上述事实让我觉得我对本地和远程机器上的防火墙等方面都很清楚。 我肯定我在这里肯定会错过一些很明显的东西,但是对于我来说,我无法控制它。 任何帮助,链接或一般推动正确的方向将不胜感激!
我有两台机器,客户端和服务器。 客户端(位于企业防火墙之后)使用以下命令打开一个到服务器的反向SSH隧道,该服务器具有可公开访问的IP地址: ssh -nNT -R0:localhost:2222 [email protected] 在OpenSSH 5.3+中,在-R之后出现的0意味着“select一个可用的端口”,而不是明确地要求一个端口。 我这样做的原因是因为我不想select一个已经在使用的端口。 事实上,实际上有很多客户需要build立类似的隧道。 现在的问题是服务器不知道哪个客户端是哪个。 如果我们想连接回这些客户端(通过本地主机),那么我们如何知道哪个端口是指哪个客户端? 我知道,ssh在上述方式使用时将端口号报告给命令行。 不过,我也想用autossh来保持会话的活跃。 autossh通过fork / exec运行它的subprocess,据推测,实际的ssh命令的输出在以太网中丢失了。 此外,我想不出任何其他方式从客户端获得远程端口。 因此,我想知道是否有一种方法来确定服务器上的这个端口。 我有一个想法是以某种方式使用/ etc / sshrc,这应该是一个为每个连接运行的脚本。 但是,我不知道如何得到相关的信息(也许是特定的sshd进程处理该连接的PID)我想要一些指针。 谢谢!
使用sequelpro连接到AWS上的远程mysql服务器非常简单 ,但是我正在用mongodb做同样的事情。 我尝试通过命令行设置一个SSH隧道,如下所示: ssh -fN -l root -i path/to/id_rsa -L 9999:host.com:27017 host.com 我也尝试用ip地址replace主机 我们的想法是将端口9999上的所有mongodb连接转发到端口27101上的主机上。但是,当我运行命令: mongo –host localhost –port 9999 连接失败,我得到这个: MongoDB shell version: 2.6.0 connecting to: localhost:9999/test channel 2: open failed: connect failed: Connection timed out channel 3: open failed: connect failed: Connection timed out 2014-05-22T14:42:01.372+0300 DBClientCursor::init call() failed 2014-05-22T14:42:01.374+0300 Error: DBClientBase::findN: transport error: localhost:9999 […]
我有一个传统的应用程序,需要FTP,不能做SFTP。 我的解决scheme是: 使用VSFTPD放置一个FTP服务器 将防火墙configuration为仅接受来自本地主机的端口21连接 使用旧应用程序从客户端build立SSH连接 通过SSH隧道FTP 我想知道,如果我可以configurationVSFTPD忽略来自任何地方的连接,除了防火墙本身,本身。 腰带和护腕两者。