Невозможно выполнять команды после входа на сервер через SSH, когда IP-адрес генерируется командой linux

Кажется, я нашел решение.

Сначала я набираю эту команду :veracrypt --filesytem=none /dev/sdx1, которая монтирует зашифрованный раздел без файловой системы.

После этого я запускаю Clonezilla и после того, как я выбираю device-image, вместо выбора local_devя выбираю enter shell, а затем набираю эту команду:mount -t auto -o noatime,nodiratime /dev/mapper/veracrypt1 /home/partimg. Это монтирует зашифрованный раздел в /home/partimgи заставляет Clonezilla пропустить запрос выбора раздела для сохранения.

После этого я набираю exit, чтобы выйти из командной оболочки и продолжить выполнение следующих шагов Clonezilla по умолчанию.

2
28.02.2020, 11:49
1 ответ

Вы путаете стандартный ввод для команды sshи обработку, необходимую для генерации последнего октета. По сути, ваша команда находится в такой форме,

echo 1.2.3.4 | ssh -tt user@`tr 12 21`

Надеюсь, из этого вы видите, что trполучает ввод от echoкоманды (вашего конвейера ), поэтому он не подключен к вашему терминалу. Кроме того, sshтакже пытается прочитать свой ввод из конвейера.

Я думаю, что вы, вероятно, хотите вот этого,

ip=$(ifconfig eth0 | awk '/inet / { split($2, ip, /\./); printf "%d.%d.%d.2\n", ip[1], ip[2], ip[3] }')
ssh "user@$ip"

или в одной строке без временной переменной,

ssh "user@$(ifconfig eth0 | awk '/inet / { split($2, ip, /\./); printf "%d.%d.%d.2\n", ip[1], ip[2], ip[3] }')"
3
28.04.2021, 23:21

Теги

Похожие вопросы