Ssh
SSH 的 sshpass 有效,但 SCP 的 sshpass 無效
就我而言,我有一種情況是我試圖使用 sshpass 通過 SCP 發送文件,但我不能。我需要使用帶密碼的腳本,但最簡單的方法不起作用
在 hostName2 上,我無法看到配置 sshd_config 等並發送 ssh-copy-id,我需要使用“myPass”
看這個:
sshpass -p 'myPass' ssh -p 2122 tomcat@xxx.xxx.xx.xxx
^ 好的
sshpass -p 'myPass' scp ~/myDir/testPB.txt tomcat@xxx.xxx.xx.xxx:/chroot/tomcat/testPB
^不好
它工作正常:
[tomcat@hostName .ssh]$ sshpass -p 'myPass' ssh -p 2122 tomcat@xxx.xxx.xx.xxx Last login: Mon Aug 22 11:41:32 2016 from xxx.xxx.xx.xxx ################# # hostName2 # ################# JAVA_HOME=/opt/java TOMCAT_HOME = /chroot/tomcat LOG = /log/tomcat , /log/apache LOG_ARCH = /log/arch/tomcat , /log/arch/apache STATS = /log/stats
並且有一個問題:
[tomcat@hostName .ssh]$ sshpass -p 'myPass' scp -vvv ~/myDir/testPB.txt tomcat@xxx.xxx.xx.xxx:/chroot/tomcat/testPB Executing: program /usr/bin/ssh host 195.182.52.175, user tomcat, command scp -v -t /chroot/tomcat/testPB OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to xxx.xxx.xx.xxx [xxx.xxx.xx.xxx] port 22. debug1: Connection established. debug1: identity file /home/tomcat/.ssh/identity type -1 debug1: identity file /home/tomcat/.ssh/identity-cert type -1 debug3: Not a RSA1 key file /home/tomcat/.ssh/id_rsa. debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug2: key_type_from_name: unknown key type '-----END' debug3: key_read: missing keytype debug1: identity file /home/tomcat/.ssh/id_rsa type 1 debug1: identity file /home/tomcat/.ssh/id_rsa-cert type -1 debug1: identity file /home/tomcat/.ssh/id_dsa type -1 debug1: identity file /home/tomcat/.ssh/id_dsa-cert type -1 debug1: identity file /home/tomcat/.ssh/id_ecdsa type -1 debug1: identity file /home/tomcat/.ssh/id_ecdsa-cert type -1 ssh_exchange_identification: Connection closed by remote host lost connection
怎麼了?
您使用帶有
ssh -p 2122
但不帶有的替代埠scp
。嘗試
sshpass -p 'myPass' scp -P 2122 ~/myDir/testPB.txt tomcat@xxx.xxx.xx.xxx:/chroot/tomcat/testPB
請注意大寫
P
。根據
man scp
:
**-P** *port*
指定要連接到遠端主機上的埠。請注意,此選項使用大寫的“P”編寫,因為**
-p
**已保留用於在 rcp(1) 中保存文件的時間和模式。