几个月来,我一直通过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 […]
在服务器A上,我想通过ssh向服务器B发出以下命令。 service network stop sleep 5 service network start 问题是因为我发出一个networking“停止”,那么我当前的SSH连接也会丢失。 因此我不能执行后续命令(睡眠5和服务networking启动)。 请注意,我不能使用(服务networking重新启动)。 有没有人有这方面的解决方法/解决scheme?
我有一个小的SSH服务器,我想写一个脚本来运行每次有人通过SSHlogin。 现在,我将如何去做呢? 我希望每次ANYBODYlogin时脚本都能运行,而且我需要至less访问login人员的用户名和login人员的IP地址。 我想过使用/etc/bash.bashrc ,但这是一个很好的解决scheme吗? 例如,有没有一种方法,用户可以禁用它的使用,从而禁用我的脚本? 如果是的话,我还有其他的select吗? 谢谢。
VIP上有两台生产服务器,一次只能使用一台,例如: myservice.mycompany.uk通常指向server1,如果server1发生故障,它将更改为指向server2。 还有一些服务器需要通过SFTP将文件发送到myservice.mycompany.uk,如果我们故障转移到server2,它们应该是完全透明的。 问题是,虽然在服务器1和服务器2上安装了密钥,但由于服务器2的主机密钥与服务器1的主机密钥不同,因此其他服务器将具有主机密钥validation问题。 这会导致安全错误(因为严格检查),并且必须从known_hosts中移除一行以使其正常工作。 我们的IT人员build议我们可以在known_hosts中创build2个条目,其中一个使用server1的密钥,另一个使用server2,两者都使用myservice.mycompany.uk主机。 这是否有可能工作? 这怎么能在windows上用putty / psftp来完成呢? 由于主机密钥存储在registry中,因此不允许使用重复名称。 有没有更好的方法,例如,我们可以强制服务器具有相同的主机密钥?
我正在尝试在ubuntu /精确的EC2上build立一个sftp服务器。 我已经成功地添加了一个可以通过ssh连接的新用户,但是一旦添加了以下子句: Match Group sftp ChrootDirectory /home/%u AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp 我不能再连接(根本不用,SSH或其他),我得到的消息 Error: Connection refused Error: Could not connect to server 我能够连接子系统设置为: #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp 任何想法为什么SSH服务器失败,这个“匹配”条款? 基本上,除了“chroot”部分外,所有的东西都在工作。
假设你正在一个客户端的GNU/Linux运行一个SSH会话,他会要求你看看你在做什么。 你怎么能让这个对方看到你的会议上发生了什么?
我有两个远程服务器: 服务器1:Linux 2.6.18-238.12.1.el5PAE i686 / VIM – Vi IMproved – 版本7.0.237 服务器2:Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM – Vi IMproved版本7.0.237 当我SSH到服务器2,并使用VIM来编辑一个php或.htaccess文件它有美丽的颜色突出显示。 下面是该服务器上的/etc/vimrc文件。 当我到服务器1 ssh,没有颜色显示。 我尝试将下面的代码复制到服务器1上的〜/ .vimrc文件中,但是颜色语法不起作用。 其他function(如set nocompatible )正在工作,但不是颜色。 为什么服务器1上的颜色不起作用,我该如何testing和修复它? tput colors两个terminal的tput colors返回8 。 我试过:syntax on和:syntax enable但这也没有帮助。 ———————————————————— /etc/vimrc文件的内容: if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=utf-8,latin1 endif set nocompatible " Use Vim defaults […]
我有基于密钥的login工作正常。 然后,我更改了我的计算机上的主机名,基于密钥的login停止工作。 似乎是有道理的。 键可能依赖于我的旧主机名。 所以,我删除了我的所有密钥和〜/ .ssh /中的所有文件,并重新生成了它们(并更改了我连接的服务器上的authorized_keys) 现在,任何时候我尝试SSH,它只是挂起没有密码提示,无论我在哪里试图SSH – 甚至服务器,我没有基于密钥的login设置。 .ssh / config中没有任何内容。 而且,当我“扎根”时,ssh完美地工作。 没有问题。 这只发生在我的用户帐户上。 下面是一些来自ssh的debugging信息 ssh -vv [email protected] OpenSSH_5.2p1,OpenSSL 0.9.8k 2009年3月25日 debug1:读取configuration数据/Users/myname/.ssh/config debug1:读取configuration数据/ usr / etc / ssh_config …… debug1:主机'myremoteserver.com'是已知的并且与RSA主机密钥匹配。 debug1:find/Users/myname/.ssh/known_hosts:1中的键 debug2:bits设置:512/1024 debug1:ssh_rsa_verify:签名正确 debug2:kex_derive_keys debug2:set_newkeys:模式1 debug1:发送了SSH2_MSG_NEWKEYS debug1:期待SSH2_MSG_NEWKEYS debug2:set_newkeys:模式0 debug1:收到SSH2_MSG_NEWKEYS debugging1:发送了SSH2_MSG_SERVICE_REQUEST debug2:service_accept:ssh-userauth debug1:收到SSH2_MSG_SERVICE_ACCEPT 然后它只是挂在这里….. 这里是dtruss(比如strace,但是对于OSX)输出接近它挂起的地方:sudo dtruss ssh -vv [email protected] select(0x4,0x508200,0x0,0x0,0x0)= 1 0 (0x3,“$ \ […]
我正在编写一个脚本,login到一堆远程机器上,并对它们运行一个命令。 我已经设置了密钥,所以运行脚本的用户不必input每台机器的密码,只需在脚本的开始处input密码即可。 问题是远程机器上的命令需要sudo才能运行。 同时脚本的重点是摆脱用户必须多次input密码。 有没有办法避免inputsudo的密码? 更改远程计算机上的命令权限不是一个选项。
[02:48] [root @ server:〜] ps ax | grep svn 23986? Ss 0:00 / usr / bin / svnserve -d -r / srv / svn正如你从参数中看到的,我的svn根目录是/ srv / svn。 现在,来自远程机器的一些魔法… 这工作: > svn co svn://[email protected]/test-repo 但是这不是: > svn co svn+ssh://svn-user@<putty-session-name>/test-repo 'No repository found in 'svn+ssh://svn-user@<putty-session-name>/test-repo' 打了几个小时,我发现,如果我使用SSH隧道,我可以得到我的回购使用以下: > svn co svn+ssh://svn-user@<putty-session-name>/srv/svn/test-repo 这意味着我应该指定回购的完整物理path。 咦?