scp远程拷贝文件出现permission denied,please try again的解决办法

当使用SCP命令进行文件传输时遇到权限拒绝错误,可通过修改远程目录权限解决。具体操作为使用chmod命令将目标目录权限设置为766,之后即可正常进行文件传输。

执行
scp -P 22 train.tar.gz xxx@192.168.2.238:~/dataset
Permission denied, please try again
则在~/dataset目录下 执行 chmod 766 dataset/
即可成功实现传输

scp文件出现 “Permission denied, please try again” 错误,通常是由于权限问题、用户名密码错误或服务配置等原因导致,以下是一些可能的解决办法: ### 确认用户名和密码 要保证使用的用户名和密码准确无误,可尝试手动登录目标服务器来验证。例如在本地终端使用如下命令登录: ```bash ssh username@remote_server_ip ``` 若无法登录,需检查用户名和密码,或者联系目标服务器的管理员重置密码。 ### 检查目标服务器权限 确保目标服务器上的目标目录有足够的写入权限。可以登录目标服务器,使用 `ls -l` 命令查看目录权限,例如: ```bash ls -l /path/to/destination ``` 若权限不足,可使用 `chmod` 命令修改权限,如: ```bash chmod 755 /path/to/destination ``` ### 检查 SSH 服务配置 确认目标服务器的 SSH 服务配置允许密码认证。编辑目标服务器的 `/etc/ssh/sshd_config` 文件,确保以下配置项: ```plaintext PasswordAuthentication yes ``` 修改完成后,重启 SSH 服务: ```bash sudo systemctl restart sshd ``` ### 检查防火墙设置 要保证本地和目标服务器的防火墙没有阻止 SSH 连接。可临时关闭防火墙进行测试(注意:仅用于测试,完成后需重新开启并配置规则): ```bash # 对于 CentOS/RHEL sudo systemctl stop firewalld # 对于 Ubuntu/Debian sudo ufw disable ``` ### 检查 SELinux 或 AppArmor 若目标服务器开启了 SELinux 或 AppArmor,可能会限制 SSH 和 SCP 的操作。可临时禁用进行测试: ```bash # 对于 SELinux sudo setenforce 0 # 对于 AppArmor sudo systemctl stop apparmor ``` ### 示例 scp 命令 在确认上述各项无误后,使用正确的 scp 命令传输文件,例如: ```bash scp /path/to/local/file username@remote_server_ip:/path/to/destination ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值