{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/age/feed/json -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/age", "feed_url": "https://matoken.org/blog/tag/age/feed/json", "language": "ja", "title": "age – matoken's meme", "items": [ { "id": "https://matoken.org/blog/?p=4007", "url": "https://matoken.org/blog/2024/04/04/age-that-can-encrypt-and-decrypt-using-ssh-keys/", "title": "SSH\u9375\u3092\u4f7f\u3063\u305f\u6697\u53f7\u5316\uff0c\u5fa9\u53f7\u5316\u304c\u51fa\u6765\u308b age", "content_html": "
age \u3068\u3044\u3046\u6697\u53f7\u5316\u30c4\u30fc\u30eb\u3092\u77e5\u308a\u307e\u3057\u305f\uff0e\u3053\u306e age \u3067\u306f ssh \u306e\u516c\u958b\u9375\u3092\u4f7f\u3063\u3066\u6697\u53f7\u5316\uff0c\u79d8\u5bc6\u9375\u3067\u5fa9\u53f7\u5316\u304c\u51fa\u6765\u308b\u306e\u304c\u9762\u767d\u305d\u3046\u306a\u306e\u3067\u5c11\u3057\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\n
\u4eca\u56de\u306f Upstream \u3068\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u540c\u3058\u3060\u3057 Raspberry Pi OS bookworm armhf \u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u5229\u7528\u3057\u307e\u3057\u305f\uff0e
\ngo install \u3067\u306e\u5c0e\u5165\u3082 Go \u304c\u5165\u3063\u3066\u3044\u308c\u3070\u7c21\u5358\uff0cGitHub \u306e releases \u306b\u3082\u3044\u304f\u3064\u304b\u306e\u30d0\u30a4\u30ca\u30ea\u304c\u3042\u308a\u307e\u3059\uff0e
\n\u305d\u306e\u4ed6\u5404\u7a2e\u74b0\u5883\u306b\u3082\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308b\u3088\u3046\u3067\u3059\uff0e
$ sudo apt install age\n$ age --version\n1.1.1\n$ dpkg-query -W age\nage 1.1.1-1+b3\n$ age\nUsage:\n age [--encrypt] (-r RECIPIENT | -R PATH)... [--armor] [-o OUTPUT] [INPUT]\n age [--encrypt] --passphrase [--armor] [-o OUTPUT] [INPUT]\n age --decrypt [-i PATH]... [-o OUTPUT] [INPUT]\n\nOptions:\n -e, --encrypt Encrypt the input to the output. Default if omitted.\n -d, --decrypt Decrypt the input to the output.\n -o, --output OUTPUT Write the result to the file at path OUTPUT.\n -a, --armor Encrypt to a PEM encoded format.\n -p, --passphrase Encrypt with a passphrase.\n -r, --recipient RECIPIENT Encrypt to the specified RECIPIENT. Can be repeated.\n -R, --recipients-file PATH Encrypt to recipients listed at PATH. Can be repeated.\n -i, --identity PATH Use the identity file at PATH. Can be repeated.\n\nINPUT defaults to standard input, and OUTPUT defaults to standard output.\nIf OUTPUT exists, it will be overwritten.\n\nRECIPIENT can be an age public key generated by age-keygen (\"age1...\")\nor an SSH public key (\"ssh-ed25519 AAAA...\", \"ssh-rsa AAAA...\").\n\nRecipient files contain one or more recipients, one per line. Empty lines\nand lines starting with \"#\" are ignored as comments. \"-\" may be used to\nread recipients from standard input.\n\nIdentity files contain one or more secret keys (\"AGE-SECRET-KEY-1...\"),\none per line, or an SSH key. Empty lines and lines starting with \"#\" are\nignored as comments. Passphrase encrypted age files can be used as\nidentity files. Multiple key files can be provided, and any unused ones\nwill be ignored. \"-\" may be used to read identities from standard input.\n\nWhen --encrypt is specified explicitly, -i can also be used to encrypt to an\nidentity file symmetrically, instead or in addition to normal recipients.\n\nExample:\n $ age-keygen -o key.txt\n Public key: age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p\n $ tar cvz ~/data | age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p > data.tar.gz.age\n $ age --decrypt -i key.txt -o data.tar.gz data.tar.gz.age\n
age-keygen
\u30b3\u30de\u30f3\u30c9\u3067 age \u7528\u306e\u9375\u30da\u30a2\u304c\u751f\u6210\u3067\u304d\u307e\u3059\uff0e public key
\u3092\u5171\u6709\u3057\u307e\u3059\uff0e
$ age-keygen -o key.txt\nPublic key: age1asle7pc9uj5n3fxamxst286ejh24yv5nut0qtedmadsxdm38egvs6ez9jr\n$ cat key.txt\n# created: 2024-03-30T04:44:49+09:00\n# public key: age1asle7pc9uj5n3fxamxst286ejh24yv5nut0qtedmadsxdm38egvs6ez9jr\nAGE-SECRET-KEY-1VZVZ0VXNSP7D3XN6X545MT7EX89S2Z7F68G6CG0RZ9WKMGN0CW4STSVM26\n$ age-keygen -o key2.txt\nPublic key: age1vz7kedcgzvzk4n4ke50wdxthll9g3muhgwlv3vz37g926frzjvvst777qe\n
age public key
\u3067\u6697\u53f7\u5316\uff0cage secret key \u3067\u5fa9\u53f7\u5316\u3057\u307e\u3059\uff0e
$ echo 'plain' > data\n$ age -o data.age -r age1asle7pc9uj5n3fxamxst286ejh24yv5nut0qtedmadsxdm38egvs6ez9jr data (1)\n$ age --decrypt -i key.txt -o - data.age (2)\nplain\n$ age -o data.age -r age1asle7pc9uj5n3fxamxst286ejh24yv5nut0qtedmadsxdm38egvs6ez9jr \\\n -r age1vz7kedcgzvzk4n4ke50wdxthll9g3muhgwlv3vz37g926frzjvvst777qe data (3)\n$ age --decrypt -i key.txt -o - data.age (4)\nplain\n$ age --decrypt -i key2.txt -o - data.age (5)\nplain\n
$ age --passphrase -o data.age data (1)\nEnter passphrase (leave empty to autogenerate a secure one):\nConfirm passphrase:\n$ age --passphrase -o data.age data (2)\nEnter passphrase (leave empty to autogenerate a secure one):\nage: using autogenerated passphrase \"resist-host-rabbit-rapid-choose-slender-legal-ramp-forward-scare\"\n$ age --passphrase --armor data (3)\nage: using autogenerated passphrase \"what-open-rifle-junior-meadow-grass-hurdle-cigar-hybrid-slide\"\n-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNjcnlwdCBxcGxLRjNySGliS3ZyUmUz\nTm5MMnVRIDE4ClQzVUhlUmJlSGQrSmdUcU1xaEo0ZkFUcGpLWGZpUnBEbjNPbDMy\nWDk4ZHcKLS0tIFRic2twRVFOVkJ3a2Y3UWZ3WEdxcG5iSi9qWk5TU1UydWllVG1G\nNlBmMkkKh1ok+t0EGZrBXEQujdb6JQLcIGyZXcnvJrAetajKdVImFUCHXu0=\n-----END AGE ENCRYPTED FILE-----\n
$ age --decrypt -o - ./data.age\nEnter passphrase:\nplain\n$ echo '-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNjcnlwdCBxcGxLRjNySGliS3ZyUmUz\nTm5MMnVRIDE4ClQzVUhlUmJlSGQrSmdUcU1xaEo0ZkFUcGpLWGZpUnBEbjNPbDMy\nWDk4ZHcKLS0tIFRic2twRVFOVkJ3a2Y3UWZ3WEdxcG5iSi9qWk5TU1UydWllVG1G\nNlBmMkkKh1ok+t0EGZrBXEQujdb6JQLcIGyZXcnvJrAetajKdVImFUCHXu0=\n-----END AGE ENCRYPTED FILE-----' | age --decrypt -o -\nEnter passphrase:\nplain\n
\u3053\u308c\u3092\u8a66\u3057\u305f\u304b\u3063\u305f\u306e\u3067\u3057\u305f\uff0e
\n$ age --armor -R ~/.ssh/id_ed25519.pub data\n-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IGVSY0tCZyBZRUJD\nNUZ6OWpQWDlzK2JKbmszaVp1ak9TQ0NZWkxoM0JuRlhtTm1hNVdFCjZqV0RlRldI\ncjY4TDJJR1hRckxNUkw2QmoreGVoRURzRGhRYllZUjBXck0KLS0tIEJBaFVXa3J0\nRHFobkVzUnRLaDZaUDVHdnpTbklHYmozQThKKzVKT3haUkEKaRkef04BHGL2sDPy\nB9hl8CCpgJ57fOZtLBG8tPruAz5uASNhJss=\n-----END AGE ENCRYPTED FILE-----\n$ echo '-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IGVSY0tCZyBZRUJD\nNUZ6OWpQWDlzK2JKbmszaVp1ak9TQ0NZWkxoM0JuRlhtTm1hNVdFCjZqV0RlRldI\ncjY4TDJJR1hRckxNUkw2QmoreGVoRURzRGhRYllZUjBXck0KLS0tIEJBaFVXa3J0\nRHFobkVzUnRLaDZaUDVHdnpTbklHYmozQThKKzVKT3haUkEKaRkef04BHGL2sDPy\nB9hl8CCpgJ57fOZtLBG8tPruAz5uASNhJss=\n-----END AGE ENCRYPTED FILE-----' | age -d -i ~/.ssh/id_ed25519\nplain\n
$ echo 'plain' | age --armor -R ./rsa1024.pub\nage: warning: recipients file \"./rsa1024.pub\": ignoring unsupported SSH key of type \"ssh-rsa\" at line 1\nage: error: failed to parse recipient file \"./rsa1024.pub\": \"./rsa1024.pub\": no recipients found\nage: report unexpected or unhelpful errors at https://filippo.io/age/report\n$ echo 'plain' | age --armor -R ./rsa2048.pub\n-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1yc2EgNXd4UUtBCmxZY2ZKczFr\nMkJ1akc2Y3JkUHQyN0JaRU1RTnN4NHFydjBwZE4vUml4d0JnZ0VQYnVxRUhXRFpx\nWkRCOWxpSG4KTnUzZCsvNmFGSnM0MzNkdEpSRWVyUEl1VVgxOHR3NFd6alJMMUlH\nQ3VYbTZDTDdYNUxoeTdnbE8zNlI5eWpCawpPMTVRZXhoTGNVWHRhRngybkVHVmxE\nQXVTRFJKOEFIVFQwWXFFZHRrdmU4UVhiV0lwbFVtQ0Vzb1ZzTnlBNXc5CjN4VW02\na21MZGxxRmhtY1pOZ1NsQjlBS0RmL1o3M0xNZ0RVQXRXS3pVSDVXS1UramQ5V3Nv\nNWhSZDBaYjhlSWkKTVUzM1dEZzltcWU3SEpPMGV6eG5ucHFqUGZDRWZ0eDNQNTUy\nRmZxdHdXUzBZamlrLzNFaGdWajVTeXZBREF1VwpFN2x4S0VnR0N6WmIxeXFuTjUr\nbGFnCi0tLSAzaytQQktGcHA4dG9OZjhGbGNZY2g1ZktUaHRsemxoNUNxeW9YTkVD\nQ2NJCnEqtAa7v2TJGtQWC2CglKZ9YeX698uiW90pBq13wqwxFxe26eUb\n$ echo 'plain' | age --armor -R ./rsa3072.pub\n-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1yc2EgZFNIbVJ3CmxTaERheUlS\nRDJ2dE8wVXZrWDRKMStQYkl4SW5RVExYUWlLTHcxVjRFRVBSWEVnQk81TThVaG5u\nQWZRYS9vVlQKZHppT25RYnZKaUFSbm5sSVhMZUVMTG1Fc2FPTUl4aFQvdmVEeXBG\nb1dDQ1loMEdYM0QyKzNIN2V6eStlbkQ2ZQpFeVJJeFovd3FzUzZSS3pNMG9YeEtp\nQm0rYitkeWFIR2N2T05tMHB0RW5TTWRvelBmOXdpN0tjVlhZUS8xWGxJClJBMjk3\nWDV5d3BBaFdWbWtFcjIyWHhHMy93cmsrUTd3cGdwaTAzMTN4M3RaQ0o5cUN3TzRw\ncklrTGpVUVBRSE4KNnA4MHhvMVJ6LzduM0JHaTNKNFZKRURuSjhZNldoV1h2N3Qw\nbTRMZ0xqaVkvOVJVR004a3A1bU9JSU9pK0ErKwpKdmtVcEphWk9zbzJ1eHdOV0k0\nRXpBYm9jY3RneDNJSm9mcWQ4SzY5bERxUjV0bWhCRFB5K210M29VL1ZKVGwvCmo1\neHQ4eFRIaDVFTVBaMnRlbkFGLzNZWFA4NVpWVlloVUc1YnlrdUFRSTJqRXdGR3Vl\nNkFWTjlyR05DQUxlMVcKN0xaQTA2bENBY09pZHNtL0dCcU5QVmFDQVVsNUI2eHlH\ndUYyTkc2QXRZN0k1WUZXTHV3UGxPWDgvdlJoNnE4NgoKLS0tICtSSUV0bnRRSjU1\nTUY3cjRJM3ZYV0x6ZXpLbXFnaEttYTZhY01nZzEzd28KLJcw48jawhSaZm1BZ7a1\nQm0770UO7troZcvViUfFJzHSXQsE4n4=\n-----END AGE ENCRYPTED FILE-----\n$ echo 'plain' | age --armor -R ./rsa4096.pub\n-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1yc2Egc0tyUVpRCnluWk1qUFdI\nS2w3c3hmK0ZyMmcvUmZVWUpKejF0RTlSalVzKzQ1QkpCMklHUjlCcGJIeGFKSVNv\nUVdSa2pRbnkKQm5OWHlocEUyQjZYZjRJanVkN2YyMWJKaThwd0hEWkkwQURnWUVF\nbkxnR2ZSTktRRDdEWHZaYTVuVSsvYUY1UQpCa3lMdURsamhWdm52RE0yaE53QUxX\nWnVaRWdPRExnL2lIYSs4SE9YZUlNTldidG5QTC9XQU1IUll2NTQ0RzBjCjJnL0lC\nemtTdDlaNlpQM1JEbHRDdnROWmV3VTNpMDRxcDdabVU3bU5xODg4eUJ3dWZwYnpG\nQWtnbWlzc3RVV2IKZkVnSmQyZ2pOaXluYmFhMllvZ0tKNzcwS3FBWlJtS29LNGYx\nY3dxSFV4UHZpcmJleHFFNXI5ekUxQzNlYzdIWgpackFqemdMV1JjRjdnY3RBTTky\nbDlXVDVrQktjZkszQk12L3hlSDhHTllIdkVIS2FERUtCbWgyaUNad0NuRjRCCjZK\nSUYxYXkyNE1oKzN5VUZ0a1VVQjRnOVBLRUF4VU0yOFJUcEtUZDU2OHFDT2djekxO\nY3o4eGhQay9vNnlMRDUKVm14KzlrS1hOU1JrYTVHYjBwZWZzYXVsNHhPMEY5bTJ4\nZWZZQW5LVVQxRjVBUUQ4eDBEbDNkRTFFTGNvL21Kcgp5YkkxR3FrMTJQdnA3MFFl\nckgvZjBvT3I2WlZ6Q1ZuM3JFeGczTXFwU3FCV3FWbVIrTk1sL0RSWEZwL2Q4NC9m\nCjlDZUJ2NXZnQU5BUUNrVzdPODM1WUxFTzVrT3Q1VGZISThtSzJPb2xvVnU0R2g0\nTlY5RmJnbWhJbnU3TGMvTHoKVEt1OUZwR1UvNlFEVmRnWHZvay8wSGhnZWgrcnRN\nZWZsRHd5YnlCS0ovNAotLS0gYWQ4WXBodENuNDBKVVkwK3c5YnpSeG5OdndCRWph\neW5aU1QvekRLWlhkdwpjWnxdCQrEjd0NbP2ed0AFRLYH94R8EQTGEyYDMwEuzhsk\nM8fb2A==\n-----END AGE ENCRYPTED FILE-----\n
RSA1024 \u3060\u3068\u30a8\u30e9\u30fc\u3068\u306a\u308a\u307e\u3057\u305f\uff0e\u73fe\u5728 RSA \u306f 3072 \u304c\u898f\u5b9a\u5024\u3060\u3063\u305f\u3068\u601d\u3046\u306e\u3067\u9375\u5e33\u306e\u77ed\u3044 1024 \u306f\u8db3\u5207\u308a\u3055\u308c\u3066\u3044\u308b\u306e\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\uff0e
\n$ echo 'plain' | age --armor -R ./rsa2048.pub -R ./rsa3072.pub -R ./rsa4096.pub -R ~/.ssh/id_ed25519.pub\n-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1yc2EgNXd4UUtBCjFaajdDV3hh\ndXRuNkNNRVpRTUJ2ZDI0ZkRObGdCRmpydlZNUDAzSjhXbGdsWXJZa1lyWnFzSFlo\nbXFJbjNpSFYKcHZrWisyek1MWjZvVlJtV3djUEY1ei82bVFISzdwYm96a2FYeXRR\namdxTEhjWllCcGJsSytQN3ZWay82clZEZwp4bG5HSmVGNEFFVW5xMEx4UXhlT3A0\neHBONUhkbU1qRnRPUUFoR3BldzVhamFrc0xBWVp4Y001bUdqNGROT0dmCkhOUCtF\nTytsbXRTU1Exait5bG9DRVR4ZjRTT3owY01JTGRyOUN4eWFnd0hmTDlOenlWRE12\na0ZrM2E4NkFweTEKMEZvZ3h2TzdOZlJ5YnVpYm1yOXFIUkV2MXI0QnZtT1VMTFRT\nZ2JDOGI4VGpYRVROb3J1TzAvd2xYTHozSVdhOQoyMVFQNHBxb3AzaUQwa0hqeE5C\nbEF3Ci0+IHNzaC1yc2EgZFNIbVJ3Cm9KcEoyZndZK0JCakFURWl2eUt4dHNqdExy\nK0dzNkRpUXF1U0dJSXFIMlFWOFhGcGtkNFRXd1BuVGJBSmZhNkgKNjZZZStZZFFi\nWko2dXFkQ2hKMHVIcWV0ekVaeUhBOTJoSnZUWnFacmVFczE4UnllZnp4cXZCQWE4\nckdFNU5nbQpNaXB4eHhaUG1vWE5HQ2xoRkF5amVPL3kvaUlPL0h6ZVNtL05lV2VK\nOGdkVmpGZjVSNVNOZ1NsbEc1b0NBODFlCkNQTTFWb3orNC9WVWdadThFN3YwUTNr\nYXNCaDZ5KzBSckJpeEdZWllYMml0RmFpTWNZc3FEbHhXaUM0YTU1emMKbXRvQzh2\nUG1lM1FWYzRreDJINGY1MEV0cnArTzdMaklVS1VWRE5haWV0UzlFOG9CN3U0dFNu\nMU0vVFpYVXRoNwp5aHRDc2ZoWWVBeGZwWTlyQ2ZIVjcxczZ1ajJoVy93dDFlVWsy\nNlF0ZEFCTHlBNTk1YlhTNmtKY1RPZ2tqZU94CjJkT3REWTRTZFZuR0pneDNtZjND\nUXVjMWRqeCtVODZEb2J6bkgxWm4ycGRxQWI0amVqdXNFdnJtdkFlZmZMUFYKdlVT\nekhlK1hQSFRuRFBmV09JWTUrSS9VNnQ5RTY2T0dEeG9ONVVXdFRVY0g1ZmdqTStR\nNDRUc21LQXhyK0dNbQoKLT4gc3NoLXJzYSBzS3JRWlEKc2FIQ20zUmRQYmhrRTlO\nbjF0V2lKZXhFWXVNcVJmdk5jNXhMaDdkdGZWcGc4WVVBbGdGZGhTM0dLSFpkbWlP\nSAo4aEl6U2xRTXhTTFUzTzhsWThtbngwZUl6VGQ1Z09IKzJWK29XNzNOL2ZMaEc4\nWkdxUkI0cXVHaS9IT0NTS3M0Ci8vYjJDczQrUzdaSmxrU0ZsOFU4VUk0Nzh3eHh6\nelYzOWJVaUxNbjM3cGRTdkd5Vlc3YWtHUjRiWDNoYU83WGYKNklxMkZCanBMZ0N5\nb2ZvN3VwZkNLcUxTM0FVNU1TMmczSFR1Nm9HMHJQdlIyemxwNWNjVktIWlRnSks2\nVWlwVAoyR3VQZmJCTGJSQ2xGemRWM1lUbmFhcFpmNE5ITmdjUFZZNTFaMW9ZcCtp\nQ0V6ajFwbjEyTkZvT3JRZ3NCK011Cm9EOFcyQTNBT2pOVk5mZDU1cFQ3TFE5MnNK\neEVxWE1uMUNadkhMTVZVcUdBRythZmJnVG81ZG93YlE4K2JLWkYKbTgrTmVOSTEx\nRWRqTXdRRDlmRjBrNUJpenZoenU0NnNzVmlxMmZKVERqTDdoZnlUZUNVaUxZNE91\nRHNsK2NmawpacUVZdU9sdUJEWE83Z1FYYnhFQU5pMlZQVVhiV2hDbzBhM0YwOFZ5\nNy9EclZLK29XTUJ3K25ldDV2dTZpVlgxCkxsN3ZMRjVJekZ2aXl6UnFaSXpoYzUr\nQWRQR0VjOUZPSnpnMk1uL0k4SW11VHdheW1xN25yR3VYbGNoNW9LTUkKUXNXVGFJ\nc3dXY0hxaURhSEllN1o0Rm9nQnZlck53V0R5YTdDYWltTURSbHBGc0JFTUZkL1hz\nMXRqTUNVNUs5MQoxNnFxN1AxenhYUFZnb0hMRDlnaWY3VmRCd0NnZk44UVNpb2Zk\nRUZ4U1Y4Ci0+IHNzaC1lZDI1NTE5IGVSY0tCZyBSNml6R2pvQnV6WWV2WmFHaFo5\nL0hTSFl5Y1h4S1lBNkFSZjNod29TV1dnCnhpVGNIVW44dnNrZlJyWWZxUGhsVGY1\nTlMyR0tkcjUxTnI3NStaL2UwM1kKLS0tIFg3VEg5MGNCZnJBNmU0NXUza1d1aVlM\ncmk0eXVab1RmTzhVTTZid1ZWclUKe1wXH51zJI3GYYwGVPhoXDcuV8vBZIcvGPQz\n5pSAkRa/YrHMrfk=\n-----END AGE ENCRYPTED FILE-----\n
RSA, ED25519 \u4e21\u65b9\u3092\u542b\u3080\u8907\u6570\u306e\u9375\u3067\u6697\u53f7\u5316\u3082\u554f\u984c\u306a\u304b\u3063\u305f\u3067\u3059\uff0e(\u7d19\u5e45\u3092\u3068\u308b\u306e\u3067\u3053\u3053\u306b\u306f\u8f09\u305b\u307e\u305b\u3093\u304c\u305d\u308c\u305e\u308c\u306e\u9375\u3067\u5fa9\u53f7\u3082\u5927\u4e08\u592b\u3067\u3057\u305f\uff0e)
\n$ wget https://github.com/FiloSottile.keys\n$ age -a -R ./FiloSottile.keys data\nage: warning: recipients file \"./FiloSottile.keys\": ignoring unsupported SSH key of type \"ecdsa-sha2-nistp256\" at line 1\nage: error: failed to parse recipient file \"./FiloSottile.keys\": \"./FiloSottile.keys\": no recipients found\nage: report unexpected or unhelpful errors at https://filippo.io/age/report\n$ dd if=FiloSottile.keys bs=20 count=1 2>/dev/null; echo\necdsa-sha2-nistp256\n
GitHub \u304b\u3089 age \u4f5c\u8005\u306e\u9375\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u6697\u53f7\u5316\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u304c\uff0c\u516c\u958b\u3055\u308c\u3066\u3044\u308b\u9375\u5f62\u5f0f\u304c ed25519-sk \u306e\u3088\u3046\u3067 age \u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u9375\u3060\u3063\u305f\u306e\u3067\u6697\u53f7\u5316\u51fa\u6765\u307e\u305b\u3093\u3067\u3057\u305f\uff0e
\n\n Note \n | \n\n \n \n\u9375\u306e\u5165\u624b\u4f8b \n
| \n
GPG \u3092\u516c\u958b\u3057\u3066\u3044\u306a\u3044\u4eba\u3067 GitHub \u306a\u3069\u3067 SSH\u9375\u3092\u516c\u958b\u3057\u3066\u3044\u308b\u4eba\u306f\u7d50\u69cb\u5c45\u308b\u6c17\u304c\u3059\u308b\u306e\u3067 SSH\u9375\u3067\u6697\u53f7\u5316\uff0c\u5fa9\u53f7\u5316\u304c\u3067\u304d\u308b\u3068\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e
\nopenssl \u3067\u3082\u51fa\u6765\u308b\u3057\u5c0e\u5165\u3055\u308c\u305f\u74b0\u5883\u3082\u591a\u3044\u3068\u601d\u3044\u307e\u3059\u304c\u30b3\u30de\u30f3\u30c9\u304c\u7169\u96d1\uff0cage \u3060\u3068\u5229\u7528\u304c\u7c21\u5358\u306a\u306e\u3067\u666e\u53ca\u3059\u308c\u3070\u4fbf\u5229\u305d\u3046\u3067\u3059\uff0e
$ dpkg-query -W age openssh-client openssl\nage 1.1.1-1+b3\nopenssh-client 1:9.2p1-2+deb12u2\nopenssl 3.0.11-1~deb12u2+rpt1\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Raspbian\nDescription: Raspbian GNU/Linux 12 (bookworm)\nRelease: 12\nCodename: bookworm\n$ arch\narmv7l\n$ cat /proc/device-tree/model ;echo\nRaspberry Pi 3 Model B Rev 1.2\n