다음을 수행하려고 하는데 제대로 되지 않습니다.
cat ~/Desktop/blah.png | ssh -t -t [email protected] "cat | sudo -i 'cat | /path/to/blah.png'"
내 공개 SSH 키는 다음 위치에 있습니다.[이메일 보호됨]사용자의 .ssh 폴더이므로 초기 비밀번호가 필요하지 않습니다. 명령이 마침내 실행 되면 sudo -i
루트 비밀번호를 묻는 메시지가 표시되지만 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.
루트 사용자를 통한 직접 SSH 액세스 권한은 없으며 루트 비밀번호를 사용하여 sudo 액세스 권한이 있는 일반 사용자를 통해서만 가능합니다.
루트가 아닌 사용자(모두 하나의 명령으로)를 통해 SSH를 통해 이미지를 루트 위치로 어떻게 전송합니까?
답변1
sudo
유효한 비밀번호가 아닌 blah.png를 입력했기 때문에 작동하지 않습니다 .
그러면 필수 명령이 한 줄로 결합됩니다.
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
로그인하고 루트하세요 . sudo
( sudo
두 번째 비밀번호는 비밀번호가 필요하지 않습니다)
(또한 sudo
,당신의루트가 아닌 비밀번호)