Chinaunix

标题: SSH失败,求救 [打印本页]

作者: lvchenotl    时间: 2016-04-27 15:02
标题: SSH失败,求救
手动执行ssh 命令的时候可以正常连接目标机器
但是程序调用脚本执行ssh命令的时候,却报错,以下为详细报错:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.206.44 [192.168.206.44] port 22.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /home/mysql/.ssh/identity type -1
debug1: identity file /home/mysql/.ssh/identity-cert type -1
debug1: identity file /home/mysql/.ssh/id_rsa type 1
debug1: identity file /home/mysql/.ssh/id_rsa-cert type -1
debug1: identity file /home/mysql/.ssh/id_dsa type -1
debug1: identity file /home/mysql/.ssh/id_dsa-cert type -1
debug1: identity file /home/mysql/.ssh/id_ecdsa type -1
debug1: identity file /home/mysql/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.206.44' is known and matches the RSA host key.
debug1: Found key in /home/mysql/.ssh/known_hosts:4
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/mysql/.ssh/identity
debug1: Offering public key: /home/mysql/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/mysql/.ssh/id_dsa
debug1: Trying private key: /home/mysql/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey,password).


试了很多网上找的方法,但是没有一个管用的,求大神帮忙,谢谢~
作者: lsx1970152733    时间: 2016-04-27 18:01
回复 1# lvchenotl
应该是权限问题,将主机私钥cp到被访问的主机中,实现ssh无密码访问试试!

   
作者: shenyue_sam    时间: 2016-04-27 18:09
手动ssh时,是用的mysql用户无密码登录吗?
比较一下手动和脚本执行ssh命令有什么区别。
作者: lvchenotl    时间: 2016-04-27 19:04
lsx1970152733 发表于 2016-04-27 18:01
回复 1# lvchenotl
应该是权限问题,将主机私钥cp到被访问的主机中,实现ssh无密码访问试试!


权限我都仔细核对过了,应该没有问题,ssh无密码访问已经做好,而且手动ssh一切正常
作者: lvchenotl    时间: 2016-04-27 19:06
shenyue_sam 发表于 2016-04-27 18:09
手动ssh时,是用的mysql用户无密码登录吗?
比较一下手动和脚本执行ssh命令有什么区别。


是的,是用mysql用户无密码登录的
手动ssh的时候没有问题,这是手动ssh的详细过程:
[mysql@nj-192-168-206-44 ~]$ ssh -v 192.168.208.47
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.208.47 [192.168.208.47] port 22.
debug1: Connection established.
debug1: identity file /home/mysql/.ssh/identity type -1
debug1: identity file /home/mysql/.ssh/identity-cert type -1
debug1: identity file /home/mysql/.ssh/id_rsa type 1
debug1: identity file /home/mysql/.ssh/id_rsa-cert type -1
debug1: identity file /home/mysql/.ssh/id_dsa type -1
debug1: identity file /home/mysql/.ssh/id_dsa-cert type -1
debug1: identity file /home/mysql/.ssh/id_ecdsa type -1
debug1: identity file /home/mysql/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.208.47' is known and matches the RSA host key.
debug1: Found key in /home/mysql/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/mysql/.ssh/identity
debug1: Offering public key: /home/mysql/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Last login: Wed Apr 27 18:56:05 2016 from 192.168.140.11
[mysql@nj-192-168-208-47 ~]$


MHA调用时候显示的报错如1楼所示。
作者: shenyue_sam    时间: 2016-04-28 09:01
看log,登录的不是同一台主机啊。

debug1: Host '192.168.206.44' is known and matches the RSA host key.

debug1: Host '192.168.208.47' is known and matches the RSA host key.

作者: lyhabc    时间: 2016-04-28 10:43
.47
.44
都不是同一个主机。。哈哈
作者: lvchenotl    时间: 2016-04-28 11:53
回复 6# shenyue_sam


确实是,程序执行过程先是ssh到需要执行命令的主机上,然后再执行ssh的命令
看来是我配置文件里把执行程序的机器也加进去了导致的。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2