以下 ansible 2.1.1.0 命令挂起:
ansible@ansible:~/playbooks/APS/test$ ansible -vvv 10.162.38.161 -m ping -i /home/ansible/playbooks/APS/inventory/inventory.cfg
Using /etc/ansible/ansible.cfg as config file
<10.162.38.161> ESTABLISH SSH CONNECTION FOR USER: jboss
<10.162.38.161> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=jboss -o ConnectTimeout=10 -o ControlPath=/home/ansible/.ansible/cp/ansible-ssh-%h-%p-%r 10.162.38.161 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1471958265.1-43986661132468 `" && echo ansible-tmp-1471958265.1-43986661132468="` echo $HOME/.ansible/tmp/ansible-tmp-1471958265.1-43986661132468 `" ) && sleep 0'"'"''
<10.162.38.161> PUT /tmp/tmpYxsV4j TO /home/jboss/.ansible/tmp/ansible-tmp-1471958265.1-43986661132468/ping
<10.162.38.161> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=jboss -o ConnectTimeout=10 -o ControlPath=/home/ansible/.ansible/cp/ansible-ssh-%h-%p-%r '[10.162.38.161]'
在目标计算机上
> tail -f /var/log/secure
Aug 23 16:07:16 xxx sshd[30368]: Accepted publickey for jboss from 10.162.8.163 port 57301 ssh2
Aug 23 16:07:16 xxx sshd[30368]: pam_unix(sshd:session): session opened for user jboss by (uid=0)
Aug 23 16:07:28 xxx sshd[30371]: subsystem request for sftp
我能够ping该目标节点
> ping 10.162.38.161
PING 10.162.38.161 (10.162.38.161) 56(84) bytes of data.
64 bytes from 10.162.38.161: icmp_seq=1 ttl=57 time=2.08 ms
64 bytes from 10.162.38.161: icmp_seq=2 ttl=57 time=2.77 ms
和没有密码的ssh
> ssh jboss@10.162.38.161
Last login: Tue Aug 23 15:19:37 2016 from 10.162.8.163
[jboss@xxxx ~]$
和sftp
> echo ciao > ciao.txt
> sftp jboss@10.162.38.161
Connected to 10.162.38.161.
sftp> put ciao.txt
Uploading ciao.txt to /home/jboss/ciao.txt
ciao.txt
更新
我注意到如果我sftp大文件,sftp不起作用
> ansible -vvvv 10.162.38.161 -m setup
... create /tmp/BIG_FILE
> sftp jboss@10.162.38.161
Connected to 10.162.38.161.
sftp> put BIG_FILE
Uploading BIG_FILE to /home/jboss/BIG_FILE
BIG_FILE 0% 0 0.0KB/s - stalled -
我认为问题是SFTP
其他信息:
来源:Ubuntu 14LTS
目标:Red Hat 4.4.7-11 - OpenSSH_5.3p1,OpenSSL 1.0.1e-fips 11Feb2013
这是源ssh_config:
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
这是目标sshd_config:
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
答案 0 :(得分:0)
首先,我要感谢@ smiller171
运行ansible -vvvv 10.162.38.161 -m setup
后,我注意到目标机器上的安装文件是0字节。
所以我尝试SFTP一个大文件,我发现这个过程已经过时了。
解决方案是减少MTU。我不知道为什么......
sudo ifconfig eth0 mtu 1490