Попытайтесь изменить Ваш alias
вокруг того так, чтобы вложение является последним в Вашем вызове к mutt
как так:
$ alias emailattach 'echo "Message Body" | mutt -s "Subject" email@somewhere.com -a \!:1'
При выполнении его этот путь работал на меня.
Вы можете использовать sudo
внутри своей команды ssh. Для запроса пароля sudo вы можете передать пароль в виде обычного текста, используя переключатель -S
:
ssh user@ip "echo mypassword | sudo -S tar zc -C /home/minecraft/multicraft/servers/server2 ." | tar zx
Другой метод, который я не вдавался в подробности, - это использование expect
. Вы тоже можете это изучить.
Вы получили сообщение об ошибке sudo: no tty present
, потому что ssh
не выделяет автоматически устройство tty, когда вы находитесь в неинтерактивном режиме. т.е. вы указали команду для выполнения на удаленной системе.
Вы можете заставить ssh выделить устройство tty, используя опцию -t
.
ssh -t user@ip "sudo tar zc -C /home/minecraft/multicraft/servers/server2 ." | tar zx