Linux

無法使用 scp 上傳文件,但使用 pscp 可以正常工作

  • February 3, 2017

我可以使用具有私鑰的登錄名登錄到遠端伺服器。此私鑰沒有任何密碼。在 Windows 上使用PuTTy時,鑑於該私鑰,我可以毫無問題地登錄到該遠端伺服器。在 Windows 上使用pscp此鍵也可以正常工作。

但是當使用scp相同的密鑰從 linux 使用時,它似乎不起作用。最後的消息scp是這些

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: /path/to/key/id_rsa_download2.ppk
debug1: key_parse_private2: missing begin marker
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such device or address
debug1: Authentications that can continue: publickey,password

權限被拒絕,請重試。debug1:read_passphrase:無法打開 /dev/tty:沒有這樣的設備或地址 debug1:可以繼續的身份驗證:publickey,password 權限被拒絕,請重試。debug1: read_passphrase: 無法打開 /dev/tty: 沒有這樣的設備或地址 debug1: 可以繼續的身份驗證:publickey,password debug1: 沒有更多的身份驗證方法可以嘗試。權限被拒絕(公鑰、密碼)。

pscp用這些參數打電話

pscp -r -v -l username -i /path/to/key/id_rsa_download2.ppk -P port C:\some\local\dir username@remoteserver:/remote/dir

scp用這些參數打電話

scp -r -v -i /path/to/key/id_rsa_download2.ppk -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -P port /some/local/dir username@remoteserver:/remote/dir

有人可以給我任何提示問題出在哪裡嗎?

編輯 當我嘗試scp在命令行中呼叫命令時,scp要求我輸入密碼,但密鑰不應該要求我輸入密碼。

文件.ppkPutty私鑰文件,而不是 OpenSSH 密鑰文件。請參閱openssh key 和 putty key 之間的區別?

scp您發布的消息中:

debug1: Trying private key: /path/to/key/id_rsa_download2.ppk
debug1: key_parse_private2: missing begin marker
debug1: key_parse_private_pem: PEM_read_PrivateKey failed 

OpenSSH 無法解析您提供的密鑰文件。

引用自:https://serverfault.com/questions/830416