Как передать удаленный файл по каналу к stdout по scp или sftp?

Я попробовал тот же подход как Вы (но liveos является Fedora 17 для меня), я перестал работать также, мы не можем использовать изофайл для root=live: опция. root=live:LABEL=multipass01:$isofile не может быть распознан (возможно, это может быть распознано в будущей фиксации, но я не могу ждать).

Таким образом, я использовал другой подход:

#step 1 create a blank partition that can hold the liveos.(/dev/sdb5)

#step 2 copy the liveos to the partition
dd if=/my-path-to-f17-live-iso of=/dev/sdb5

#step 3 change the grub.cfg,
#note1: don't need to use loopback, just use (hdX,Y).
#note2: "root=" becomes "root=live:/dev/sdb5"
menuentry 'F17 install' --class fedora --class gnu-linux --class gnu --class os {
    insmod part_msdos
    linux (hd1,5)/isolinux/vmlinuz0 linux root=live:/dev/sdb5 rootfstype=auto ro liveimg rd.luks=0 rd.md=0 rd.dm=0 
    initrd (hd1,5)/isolinux/initrd0.img
}

Можно попробовать этот подход также, /dev/sdb5 действуйте как CD/DVD-rom в этом подходе.

Другой подход изменяет сценарий Python dracut чтобы заставить его распознать такие опции, но я не думаю, что это стоит.

29
28.07.2014, 19:40
2 ответа

Curl может отображать файл так же, как cat. Нет необходимости удалять файл, поскольку он просто отображает вывод, если вы не укажете иное.

curl -u username:password sftp://hostname/path/to/file.txt

Если вы используете аутентификацию с открытым ключом:

curl -u username: --key ~/.ssh/id_rsa --pubkey sftp://hostname/path/to/file.txt

Если вы используете расположение по умолчанию, то - ключ и - pubkey можно не указывать:

curl -u username: sftp://hostname/path/to/file.txt

Имя пользователя также может быть частью URL-адреса, поэтому конечный результат очень похож на команду ssh:

curl sftp://username@hostname/path/to/file.txt
15
27.01.2020, 19:38

Для людей, которые могут запускать scp, вы можете сделать так:

scp remotehost:/path/to/remote/file /dev/stdout
29
27.01.2020, 19:38

Теги

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