由于生产上开启了密钥登录.并关闭了ssh pass的登录方式,结果导致scp报错.
过程复现:
修改/etc/ssh/sshd_config开启秘钥登陆 关闭密码登陆
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
AuthorizedKeysFile .ssh/authorized_keys
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding 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
UseDNS no
AddressFamily inet
PermitRootLogin yes
SyslogFacility AUTHPRIV
PasswordAuthentication no
结果就导致elk04和本机elk05 执行scp的时候报错
解决方式
可以通过在elk04上执行
ssh-keygen -t rsa -f /root/.ssh/id_dsa -N ''
将生成的/root/.ssh/id_dsa.pub的内容 添加到elk05的/root/.ssh/authorized_keys里
然后执行scp 的时候带上生成的私钥id_dsa
scp -i /root/.ssh/id_dsa -r /opt/elasticsearch-6.8.3.tar.gz 192.168.1.190:/opt/
也可以重新开启sshpass的认证方式.因为我这台机子装完elk之后 不需要进行ssh操作了.所以拷贝一次这几个文件问题也不大.