Вот список распознаваемых типов разделов, которые я получаю от FDISK и у которых есть «Скрытый» в их именах:
11 Hidden FAT12
14 Hidden FAT16 <3
16 Hidden FAT16
17 Hidden HPFS/NTF
1b Hidden W95 FAT3
1c Hidden W95 FAT3
1e Hidden W95 FAT1
27 Hidden NTFS Win
84 OS/2 hidden or
Это (неофициально )задокументированные на странице Список идентификаторов разделов для ПК . Из этого списка,похоже, что они используются OS/2 и Windows для сокрытия разделов по разным причинам:
11 (Скрытый DOS 12 -бит FAT )/14 (Скрытый DOS 16 -бит FAT =32M )/17 (Скрытая IFS (, например, HPFS):
When it boots a DOS partition, OS/2 Boot Manager will hide all primary DOS partitions except the one that is booted, by changing its ID: 01, 04, 06 becomes 11, 14, 16. Also 07 becomes 17.
1b (Скрытый WIN95 OSR2 FAT32 )/1c (Скрытый WIN95 OSR2 FAT32, LBA -сопоставлен )/1e (Скрытый WIN95 16 -бит FAT, LBA -mapped ):В документе нет подробностей, но, вероятно, OS/2 -также имеет отношение
27 (Скрытый раздел Windows RE):
On MBR disks, type 0x27. On GPT disks, GUID: DE94BBA4-06D1-4D40-A16A-BFD50179D6AC. A hidden version of a Windows RE type 0x7 partition with NTFS. When this is installed, reboot and press F8 in order to boot into this Recovery Environment.
84 (OS/2 скрытый диск C :):
OS/2-renumbered type 04 partition.
Это в значительной степени устаревшие типы разделов (, за исключением типа раздела 27 ), поэтому вам, вероятно, никогда не придется сталкиваться с ними. Кроме того, FDISK не нужно на самом деле знать, что делать с этими разделами :, он имеет дело только с таблицей разделов (вы можете создать раздел с любым номером, который вы хотите, и Linux, как правило, не будет заботиться, пока есть распознанная файловая система в разделе.)
Я нашел способ сделать это, и я не нашел ответа о том, как это сделать, поэтому я публикую его.
#! /bin/bash
#Based on https://linuxaws.wordpress.com/2017/07/17/how-to-generate-pem-file-to-ssh-the-server-without-password-in-linux/
user=$(echo "$USER")
ssh-keygen << EOF
$user
EOF
mv $user $user.pem
sudo chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
sudo chmod 600 ~/.ssh/authorized_keys
cat $user.pub >> ~/.ssh/authorized_keys
echo "Copy the $user.pem to your computer."
После запуска этого скрипта на сервере или компьютере вы можете подключиться к нему с другого сервера/компьютера с помощью команды
ssh -i <pem_filename>.pem user@host
Я бы предложил сделать это наоборот.
Нет необходимости хранить закрытый ключ на удаленном компьютере.
Создайте пару ключей -на локальном компьютере :.ssh-keygen -f.ssh/somekey -t rsa -b 4096
Затем скопируйте его на удаленную машину.ssh-copy-id -i.ssh/somekey user@hostname
Затем настройте свой местный.ssh/config
:
$ cat << BLURB >>.ssh/config
Host shorthand
HostName server.com
User serveruser
IdentityFile ~/.ssh/somekey
BLURB
Вы можете легко включить эти три шага в скриптgenandcopykey.sh
:
#!/bin/bash -
# USAGE:./genandcopykey.sh user@example.com charlie@example.org...
#
# DESCRIPTION: creates an ssh-keypair, copies pubkey to remotehost
# and updates.ssh/config to use it
set -o nounset # exit on unset variables.
set -o errexit # exit on any error.
unalias -a # avoid rm being aliased to rm -rf and similar issues
LANG=C # avoid locale issues
for item in $@; do
remoteuser="${item%@*}" # everything in front of the first "@"
remotehost="${item#*@}" # everything after
ssh-keygen -f "${HOME}/.ssh/${item}" -t rsa -b 4096
ssh-copy-id -i "${HOME}/.ssh/${item}.pub" "$item"
printf '%s\n' "
Host $remotehost
HostName $item
User $remoteuser
IdentityFile ${HOME}/.ssh/${item}" >> $HOME/.ssh/config
done
Возможно, вы по-прежнему захотите добавить в сценарий параметры и функцию использования -. Это всего лишь короткий пример, и в нем отсутствует обработка ошибок для несуществующих хостов или существующих файлов в .ssh
.