Я нашел следующую функцию где-то в Интернете и использовал ее с большим эффектом. Поместите это в свой ~/.bashrc:
hgrep () {
history | egrep --color=auto --recursive "$@" | egrep --color=auto --recursive -v "hgrep $@"
}
Теперь перезагрузите свою оболочку: exec bash. Теперь у вас есть новая команда, которую вы можете использовать так:
hgrep ssh
Он покажет вам список совпадающих команд из вашей истории. Для запуска команды введите !, а затем номер команды. Вот пример:
~:$ hgrep scp
207 tn scp foreign-teachers __HOST__:unity.log __HOST__:compiz.log .
421 tn scp scott-laptop __HOST__:Scott\ Severance.asc .
422 tn scp scott-laptop __HOST__:'Scott\ Severance.asc' .
468 tn scott-desktop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
469 tn scott-laptop scp -r Backgrounds/* __HOST__:Pictures/Backgrounds
470 scp -r Backgrounds/* 192.168.1.2:Pictures/Backgrounds
~:$ !207
Мне нравится этот подход лучше, чем Ctrl + R, потому что он позволяет гораздо более гибкий поиск, и я могу сразу увидеть несколько результатов.
OpenSSL для этой цели несколько вредна, прежде всего вам нужно будет дать команде фразу, чтобы впоследствии расшифровать ваши резервные данные. Тогда этот пароль мог быть прочитан в журнальных файлах, и только в тех случаях, когда безопасность не вызывает беспокойства, я полагаю, что ваша проблема заключается в том, что архивы надежно упакованы. Поэтому я советую использовать GPG для шифрования. Вы можете использовать, как это сделано в командах ниже gpg (на самом деле это GPG2 на более новых установках Ubuntu) или gpg2 (который необходимо установить сначала на старых установках Ubuntu, просто измените команду ниже на gpg2). Смотрите также: Генерация ключей: Различия между GnuPG classic, stable, modern?. [! D0]
Для этого вам нужно сначала создать gpg-ключ со следующей командой:
gpg --gen-key
Вы будет запрашиваться ваше «Настоящее имя», которое может быть любым именем и вашим адресом электронной почты (лучше всего использовать одно имя без пробелов, см. ниже, как выглядит этот вывод). Затем вас спросят, правильно ли указана ваша информация, которую вы должны подтвердить с помощью «o», если это так.
$ gpg --gen-key
gpg (GnuPG) 2.1.15; Copyright (C) 2016 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Note: Use "gpg --full-gen-key" for a full featured key generation dialog.
GnuPG needs to construct a user ID to identify your key.
Real name: Videonauth
Email address: videonauth@example.com
You selected this USER-ID:
"Videonauth <videonauth@example.com>"
Change (N)ame, (E)mail, or (O)kay/(Q)uit? o
После этого вам будет предложено указать пароль для защиты ключа от GUI где вам нужно дважды ввести пароль, чтобы убедиться, что он правильный. Вы должны помнить этот пароль, так как его единственный способ получить ваши файлы расшифрованы позже.
Выход продолжается следующим образом:
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key 338E09237C58EFA0 marked as ultimately trusted
gpg: revocation certificate stored as '/home/videonauth/.gnupg/openpgp-revocs.d/891E441008DE443C53B44AB2338E09237C58EFA0.rev'
public and secret key created and signed.
pub rsa2048 2017-12-06 [SC]
891E441008DE443C53B44AB2338E09237C58EFA0
uid Videonauth <videonauth@example.com>
sub rsa2048 2017-12-06 [E]
Теперь это хорошая идея для резервного копирования ваш вновь созданный ключ в файл, который вы должны хранить на USB-Stick, который вы можете хранить в ящике и т. д., чтобы у вас был доступ к этому ключу, если вам нужно настроить новую систему и хотите импортировать свой ключ. Следующие команды создадут резервную копию ваших ключей и важных битов, которые затем можно найти в ~/Download.
Создать общий сертификат отзыва:# generate a copy of the revoke certificate
# you need the key ID for this which you can find in
# the before output. In this example this would be
# 891E441008DE443C53B44AB2338E09237C58EFA0
gpg -o ~/Download/key-revocation-cert.asc --gen-revoke 891E441008DE443C53B44AB2338E09237C58EFA0
Это даст вам следующее диалоговое окно, которое я заполнил для примера: $ gpg -o ~/Download/key-revocation-cert.asc --gen-revoke 891E441008DE443C53B44AB2338E09237C58EFA0
sec rsa2048/338E09237C58EFA0 2017-12-06 Videonauth <videonauth@example.com>
Create a revocation certificate for this key? (y/N) y
Please select the reason for the revocation:
0 = No reason specified
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
Q = Cancel
(Probably you want to select 1 here)
Your decision? 0
Enter an optional description; end it with an empty line:
> Example Reason
>
Reason for revocation: No reason specified
Example Reason
Is this okay? (y/N) y
ASCII armored output forced.
Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
Создайте копию открытого ключа: # This will create a copy of your public key
gpg -o ~/Download/key-public.gpg --export 891E441008DE443C53B44AB2338E09237C58EFA0
Создайте копию своего закрытого ключа: # This will create a copy of your private key
gpg -o ~/Download/key-private.gpg --export-secret-keys 891E441008DE443C53B44AB2338E09237C58EFA0
Чтобы использовать gpg с открытым ключом, вам необходимо импортировать общедоступный ключ ключевой файл на вашем сервере:
gpg --import key-public.gpg
Давайте начнем с создания правильной строки сначала и тестирования шифрования и дешифрования, чтобы убедиться, что дешифрование будет работать до того, как вы поместите его в crontab или скрипты. Со всем вышесказанным вы можете теперь генерировать непосредственно зашифрованные архивы с помощью следующей команды (вам нужно изменить имя пользователя в соответствии с «настоящим именем», с которым вы создали свой ключ).
tar -cv <directory-to-archive> | gpg -e -r Videonauth -o backup.tar.gpg
Это создает зашифрованный файл, не создавая заранее незашифрованный файл, чтобы его расшифровать, вам нужно поместить файл на свой компьютер, где у вас есть секретный ключ в вашем ключевом ключе, и выполните следующие действия:
gpg -d backup.tar.gpg | tar -xv
Вам будет предложено ввести ваш ключевой пароль, который вы должны предоставить, и это распакует файл backup.tar.gpg на вашем hdd.
Конечно, это может также использоваться для создания сжатых архивов tar, если вы хотите сделайте это, просто измените команды tar в приведенных выше строках соответственно. Для дальнейшего чтения см. [D1] Генерация ключей: Различия между GnuPG classic, stable, modern? и man tar.
Вы можете поместить эти команды непосредственно в свой crontab или создать для них скрипты.
OpenSSL для этой цели несколько вредна, прежде всего вам нужно будет дать команде фразу, чтобы впоследствии расшифровать ваши резервные данные. Тогда этот пароль мог быть прочитан в журнальных файлах, и только в тех случаях, когда безопасность не вызывает беспокойства, я полагаю, что ваша проблема заключается в том, что архивы надежно упакованы. Поэтому я советую использовать GPG для шифрования. Вы можете использовать, как это сделано в командах ниже gpg (на самом деле это GPG2 на более новых установках Ubuntu) или gpg2 (который необходимо установить сначала на старых установках Ubuntu, просто измените команду ниже на gpg2). Смотрите также: Генерация ключей: Различия между GnuPG classic, stable, modern?. [! D0]
Для этого вам нужно сначала создать gpg-ключ со следующей командой:
gpg --gen-key
Вы будет запрашиваться ваше «Настоящее имя», которое может быть любым именем и вашим адресом электронной почты (лучше всего использовать одно имя без пробелов, см. ниже, как выглядит этот вывод). Затем вас спросят, правильно ли указана ваша информация, которую вы должны подтвердить с помощью «o», если это так.
$ gpg --gen-key
gpg (GnuPG) 2.1.15; Copyright (C) 2016 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Note: Use "gpg --full-gen-key" for a full featured key generation dialog.
GnuPG needs to construct a user ID to identify your key.
Real name: Videonauth
Email address: videonauth@example.com
You selected this USER-ID:
"Videonauth <videonauth@example.com>"
Change (N)ame, (E)mail, or (O)kay/(Q)uit? o
После этого вам будет предложено указать пароль для защиты ключа от GUI где вам нужно дважды ввести пароль, чтобы убедиться, что он правильный. Вы должны помнить этот пароль, так как его единственный способ получить ваши файлы расшифрованы позже.
Выход продолжается следующим образом:
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: key 338E09237C58EFA0 marked as ultimately trusted
gpg: revocation certificate stored as '/home/videonauth/.gnupg/openpgp-revocs.d/891E441008DE443C53B44AB2338E09237C58EFA0.rev'
public and secret key created and signed.
pub rsa2048 2017-12-06 [SC]
891E441008DE443C53B44AB2338E09237C58EFA0
uid Videonauth <videonauth@example.com>
sub rsa2048 2017-12-06 [E]
Теперь это хорошая идея для резервного копирования ваш вновь созданный ключ в файл, который вы должны хранить на USB-Stick, который вы можете хранить в ящике и т. д., чтобы у вас был доступ к этому ключу, если вам нужно настроить новую систему и хотите импортировать свой ключ. Следующие команды создадут резервную копию ваших ключей и важных битов, которые затем можно найти в ~/Download.
Создать общий сертификат отзыва:# generate a copy of the revoke certificate
# you need the key ID for this which you can find in
# the before output. In this example this would be
# 891E441008DE443C53B44AB2338E09237C58EFA0
gpg -o ~/Download/key-revocation-cert.asc --gen-revoke 891E441008DE443C53B44AB2338E09237C58EFA0
Это даст вам следующее диалоговое окно, которое я заполнил для примера: $ gpg -o ~/Download/key-revocation-cert.asc --gen-revoke 891E441008DE443C53B44AB2338E09237C58EFA0
sec rsa2048/338E09237C58EFA0 2017-12-06 Videonauth <videonauth@example.com>
Create a revocation certificate for this key? (y/N) y
Please select the reason for the revocation:
0 = No reason specified
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
Q = Cancel
(Probably you want to select 1 here)
Your decision? 0
Enter an optional description; end it with an empty line:
> Example Reason
>
Reason for revocation: No reason specified
Example Reason
Is this okay? (y/N) y
ASCII armored output forced.
Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
Создайте копию открытого ключа: # This will create a copy of your public key
gpg -o ~/Download/key-public.gpg --export 891E441008DE443C53B44AB2338E09237C58EFA0
Создайте копию своего закрытого ключа: # This will create a copy of your private key
gpg -o ~/Download/key-private.gpg --export-secret-keys 891E441008DE443C53B44AB2338E09237C58EFA0
Чтобы использовать gpg с открытым ключом, вам необходимо импортировать общедоступный ключ ключевой файл на вашем сервере:
gpg --import key-public.gpg
Давайте начнем с создания правильной строки сначала и тестирования шифрования и дешифрования, чтобы убедиться, что дешифрование будет работать до того, как вы поместите его в crontab или скрипты. Со всем вышесказанным вы можете теперь генерировать непосредственно зашифрованные архивы с помощью следующей команды (вам нужно изменить имя пользователя в соответствии с «настоящим именем», с которым вы создали свой ключ).
tar -cv <directory-to-archive> | gpg -e -r Videonauth -o backup.tar.gpg
Это создает зашифрованный файл, не создавая заранее незашифрованный файл, чтобы его расшифровать, вам нужно поместить файл на свой компьютер, где у вас есть секретный ключ в вашем ключевом ключе, и выполните следующие действия:
gpg -d backup.tar.gpg | tar -xv
Вам будет предложено ввести ваш ключевой пароль, который вы должны предоставить, и это распакует файл backup.tar.gpg на вашем hdd.
Конечно, это может также использоваться для создания сжатых архивов tar, если вы хотите сделайте это, просто измените команды tar в приведенных выше строках соответственно. Для дальнейшего чтения см. [D1] Генерация ключей: Различия между GnuPG classic, stable, modern? и man tar.
Вы можете поместить эти команды непосредственно в свой crontab или создать для них скрипты.