我正在尝试执行以下操作,但不太正确。
cat ~/Desktop/blah.png | ssh -t -t [email protected] "cat | sudo -i 'cat | /path/to/blah.png'"
我的公共 ssh 密钥位于[电子邮件受保护]用户的 .ssh 文件夹,因此不需要初始密码。当sudo -i
命令最终启动时,它会提示我输入 root 密码,但立即失败,就像我按下了 Enter 键但我什至没有触摸键盘一样。我有一种感觉,也许该cat
命令已被纳入密码提示中。输出如下所示:
trusktr@LENOVO-PC ~
$ cat ~/Desktop/win-8.1-missing-lockscreen-setting.png | ssh -t -t [email protected] "cat | sudo -i 'cat > /srv/http/default/htdocs/~/img/win-8.1-missing-lockscreen-setting.png'"
tcgetattr: Not a character device
[sudo] password for root:
You type like i drive.
[sudo] password for root:
Your mind just hasn't been the same since the electro-shock, has it?
[sudo] password for root:
Maybe if you used more than just two fingers...
sudo: 3 incorrect password attempts
Connection to 50.116.4.56 closed.
我无法通过 root 用户直接进行 ssh 访问,只能通过使用 root 密码访问 sudo 的普通用户进行访问。
我如何通过 ssh、通过非 root 用户将映像转移到根位置(全部用一个命令)?
答案1
它不起作用,因为您正在将 blah.png 键入sudo
,这不是有效的密码。
这应该将所需的命令合并到一行中:
scp ~/Desktop/blah.png [email protected]:~/ && ssh -t -t [email protected] "sudo cp ~/blah.png /path/to/blah.png && rm ~/blah.png"
答案2
选项#1:scp
将文件发送到您的帐户,然后ssh
从终端将文件放入到位。
选项#2:如果您在尝试复杂复制之前sudo
缓存身份验证、登录和root。 sudo
(第二个sudo
不需要密码)
(还,sudo
使用你的密码,不是 root 的)