Ssh
為什麼這個 ssh 命令不起作用?(cat ./file | ssh <user@host> ‘cat | sudo -t -t ‘cat > /root/location/file’’)
我正在嘗試執行以下操作,但這並不完全正確。
cat ~/Desktop/blah.png | ssh -t -t trusktr@50.116.4.56 "cat | sudo -i 'cat | /path/to/blah.png'"
我在 trusktr@50.116.4.56 使用者的 .ssh 文件夾中有我的公共 ssh 密鑰,因此不需要初始密碼。當
sudo -i
命令最終啟動時,它會提示我輸入 root 密碼,但立即失敗,就好像我按下了 enter 但我什至沒有觸摸鍵盤一樣。我有一種感覺,也許該cat
命令被放入密碼提示符中。輸出如下所示:trusktr@LENOVO-PC ~ $ cat ~/Desktop/win-8.1-missing-lockscreen-setting.png | ssh -t -t trusktr@50.116.4.56 "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 使用者將圖像擷取到 root 位置,所有這些都在一個命令中?
它不起作用,因為您將 blah.png 放入
sudo
,這不是有效的密碼。這應該將所需的命令組合到一行:
scp ~/Desktop/blah.png trusktr@50.116.4.56:~/ && ssh -t -t trusktr@50.116.4.56 "sudo cp ~/blah.png /path/to/blah.png && rm ~/blah.png"
選項#1:
scp
將文件存入您的帳戶,然後ssh
從終端輸入並放置文件。選項#2:如果您
sudo
記憶體了身份驗證,sudo
請在嘗試複雜副本之前登錄並進入根目錄。(第二個sudo
不需要密碼)(另外,
sudo
使用您的密碼,而不是 root 的)