集团网站建设活动方案,深圳网站建设icxun,网站开发 模块化,wordpress 输出 文章时间Linux命令ssh-keygen -t rsa用于生成公钥、私钥#xff0c;其中RSA是一种非对称加密算法#xff0c;可以用于加密和数字签名等操作。
生成公钥和私钥的原理#xff1a;
利用RSA算法生成一对密钥#xff0c;其中一个是私钥#xff0c;另一个是公钥。
私钥只由持有者保存…
Linux命令ssh-keygen -t rsa用于生成公钥、私钥其中RSA是一种非对称加密算法可以用于加密和数字签名等操作。
生成公钥和私钥的原理
利用RSA算法生成一对密钥其中一个是私钥另一个是公钥。
私钥只由持有者保存公钥则可以向任何人公开。
使用公钥加密的信息只能由私钥解密而使用私钥签名的信息可以由公钥验证。 使用ssh-keygen -t rsa生成公钥、私钥的步骤如下 打开终端窗口输入命令ssh-keygen -t rsa按回车键。 按照提示输入密钥文件存放路径和密码可选也可以直接回车使用默认值。 生成的私钥和公钥文件存放在用户主目录下的隐藏目录.ssh中私钥文件名为id_rsa公钥文件名为id_rsa.pub。
使用生成的公钥和私钥进行认证登录等操作时需要将公钥复制到远程服务器的~/.ssh/authorized_keys文件中并将私钥保存在本地使用命令ssh -i /path/to/private/key userhost进行认证登录。 ssh-copy-id是一个用于将本地公钥添加到远程主机的授权文件中的命令。它的作用是完成免密码登录的设置。
使用ssh-copy-id命令时需要指定远程主机名称或IP地址以及要将公钥添加到授权文件的用户名如下
ssh-copy-id userremote-host执行此命令后系统会提示输入远程主机的密码以验证身份。如果密码验证通过本地主机的公钥就会被添加到远程主机的授权文件中。
ssh-copy-id的实现原理是通过SSH协议将本地主机的公钥复制到远程主机的授权文件中。在执行ssh-copy-id命令时会建立一条SSH连接并将本地主机的公钥复制到远程主机的授权文件中。这样之后就可以使用SSH协议进行免密码登录了。
使用ssh-copy-id命令的前提是本地主机已经生成过SSH密钥并且公钥已经保存到~/.ssh/id_rsa.pub文件中。如果本地主机还没有生成SSH密钥可以使用ssh-keygen命令进行生成。使用方法如下
ssh-keygen -t rsa此命令会在~/.ssh目录下生成id_rsa和id_rsa.pub两个文件其中id_rsa是私钥文件id_rsa.pub是公钥文件。
使用ssh-copy-id命令后可以在远程主机上查看授权文件确认本地主机的公钥是否添加成功。授权文件通常位于远程主机的~/.ssh/authorized_keys文件中。 示例
1. 客户端生成公钥和私钥
[rootbogon shell]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:5lYOglv2UPFFOpZ7PpQOLZTpC9io9s8vM/YPBrOzS1M rootbogon
The keys randomart image is:
---[RSA 2048]----
| . .o |
| o * |
| . X |
| . . |
| . B S E |
| * X O |
| O |
| . . . . |
| .oBo.. |
----[SHA256]-----
[rootbogon shell]#
[rootbogon .ssh]# ll
ls: 无法访问du: 没有那个文件或目录
4.0K -rw-------. 1 root root 1.7K 7月 19 16:43 id_rsa
4.0K -rw-r--r--. 1 root root 392 7月 19 16:43 id_rsa.pub
4.0K -rw-r--r--. 1 root root 351 7月 19 16:38 known_hosts
[rootbogon .ssh]# cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA4zueHiBQ8IevSMf0DPm8741gidrc0vJ/4K7TfTAgdp8LkCZ
8G8FTrSMbC/0gWWS4/0NdPBibTyLbcU27VLmvWYhZ6bFEqk20kmTR1X8lBYYIw
zeLoHLlYLOIDwCMepMTJqB4H2FpWFcWvW1t4iZACMRVOYxsg6Fz6NTrpeUpomFqH
b1z9USQboTsBwPsNtdnqowccNksMCrGpZ3hoqJ8MFbugXseTHDrBsRFR6FPwE/5
U4AekGMGr3aBpa265p2Ym7HzEzCXj0NF951f956RAT0GYfMsSF0bgvoCbHtxKk4
0tQsRGtnRGd1GBhBMX39WM1qkLHo75Ru/ACIIDAQABAoIBAGdtjWzc/LpeqBQS
ny0Ax1o2m5hgZPIXvxvD34lK9lvHzLWSLs9bUcDux7LPRlgqFmJpwRhHgvmkPgn
2fZv04Po92Fqbd/wnYnxFcVMSamLlI5tgkgjNH2MwJK5bYgxiPtRnR1JtD9XU2P
q1D5PuIRtccgY9um63oFCMCa56ue4YWojmqJw/o4Xg13GWwUbVrD5RhIje2P6
/EL29B2tqgVuNT/tRZmGKgtAhRHatxYTtyLmoRJ/oxijdKOJt/BVDNTWKwhIB2c
rLAwpXugte1NEO9a2WhpBy0YsVHmGlhsZI3mzMtj88gIsLUNIUzRETeDu3vl7os
iFHFD/ECgYEAMMBTthZZmpRWNJK9KWKp/rObFHeHxHVFnBDQdvlej/h1W4GfjS
wDnG3/IfmZPMSlkDpY0yQaoRcnY7PN2u4jAPIPRBGjcdrjs1AmbSmyqXYzYSCfG
K0hO2O8fR429ET6wYv3KESyjIadmmaMivJNdeYDrjoZAb3g8WQqXMCgYEA6dg/
LY9U2qmZeR0w6IM351/ZGZKfEobSJPBBNQcVfSOn7twuNdVLHPabF3GQQtpcZo
nv8ucZvf05KGppOuDAyDqO4WiAunKaXG/Xldvn6Wy/xgTONoIBWUZb9IEyDjWzn
OhHtzFWCS9AqwWVobALNrYHTCKdn7Ye18vUCgYAvmjlc2h5t8fxhD9TSHf9
7h44KwlvL/ECXi6IDL04pZ6ISknxhmDl8ehxoEaVvee7ou5GVzdneq6yY8qZY16
sRGkD7mJh7SBS8koDy1bP5IWVsZogFv2m8VRtRMzqh1//tcxt5G/GXb5xvlSI
d0KIsBnj71RhF8gzihHVqwKBgQCuvuhHVYqmZG1ASz6Xtb5WLLRjboA0dYAuPasq
cnx0lpoFGID4WAuQlOdYJkPHr/WkoeXgmvTL9R2H70EsFqQCRBHEGthSkSYD7gGR
5Wk6RYeuyN8CG9JEFGNsyRYTItpTvwPzwx4hcFRovKToqF2u53oVTy8Yf5SuRttF
B1sSWQKBgF6p58s5rRv0Qcy8hvne0QBldEmsKiU6d8Dkw7rFxtUTswnssPSPiuNy
Me8DhW94jHASy4ocBHtI6g0o/AKKT2cbqq9ksTxyOzzD5xhgjt6ZWlijMs3qQawM
/YAiA7sMcCfOOMhZmwExkSZ0icyXJHMmArBiFW3ZxH73DSWtpIv
-----END RSA PRIVATE KEY-----
[rootbogon .ssh]#
[rootbogon .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDjO54eIFDwh69Ix/QMbz7vjWCJ2tzS8n/grtN9MCB2nwuQJnwbwVOtIxsL/SBZZLj/Q108GJtPIttxTbtUua/5ZiFnpsUSr6TbSSZNHVfyUFhgjDN4ugcuV1wsgPAIx6kxMmoHgfYWlYVxa9bW3iJkAIxFU5jGyDoXPo1Oul5SmiYWodvXP1T5JBuhOwHAw212eqjBxw2SwwKsalneGionwwVu6Bex5McOsGxEVHoU/AT/lTgB6QYwavdoGlrbrmnZibsfMTMJePQ0X3nV/3npEBPQZh8yxIXRuCgJse37EqTjS1CxEa36dEZ3UYGEExff35YzWqQsejvlG7EP rootbogon
[rootbogon .ssh]#2. 客户端复制公钥登录服务器将公钥复制到远程服务器 rootbogon:~# cd ~/.ssh
rootbogon:~/.ssh# ll
total 20
drwx------. 2 root root 80 Nov 23 11:19 ./
dr-xr-x---. 21 root root 4096 Dec 12 10:11 ../
-rw-r--r--. 1 root root 973 Nov 23 19:01 authorized_keys
-rw-------. 1 root root 1679 Nov 23 11:17 id_rsa
-rw-r--r--. 1 root root 392 Nov 23 11:17 id_rsa.pub
-rw-r--r--. 1 root root 1406 Nov 16 11:49 known_hosts
rootbogon:~/.ssh# vi authorized_keys
rootbogon:~/.ssh#3. 客户端免密认证登录
[rootbogon .ssh]# ssh -i ~/.ssh/id_rsa root192.168.28.169
Last login: Tue Dec 12 10:11:06 2023 from 192.168.7.239------ working ... ------\ | /- -/ | \/rootrootbogon:~#[rootbogon .ssh]# ssh-copy-id root192.168.28.169
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: /root/.ssh/id_rsa.pub
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.(if you think this is a mistake, you may want to use -f option)[rootbogon .ssh]#加密算法是一种将明文转化为密文的过程常见的加密算法可分为对称加密算法和非对称加密算法两类。 对称加密算法 对称加密算法采用同一密钥对明文进行加密和密文进行解密常见的对称加密算法有DES、3DES、AES、RC4等。其实现原理是通过对明文进行特定的数学运算将其转化为密文解密过程则是将密文通过相应的数学运算还原成明文。对称加密算法的应用场景主要是数据传输过程中需要保证通信双方安全的情况如银行交易、电子邮件传输等。 非对称加密算法 非对称加密算法采用公钥和私钥两个密钥对明文进行加密和密文进行解密。常见的非对称加密算法有RSA、DSA、ECC等。非对称加密算法的实现原理是根据数学运算中的大数质因数分解、离散对数等难题使得通过公钥加密的密文只能通过相应的私钥进行解密。非对称加密算法的应用主要是在数字签名、身份认证、数据加密等领域。
常见的加密算法包括 DES算法是对称加密算法中的一种采用64位密钥加密应用场景主要是文件加密、数据加密等。 RSA算法是非对称加密算法中的一种采用公钥和私钥对数据进行加密和解密应用场景主要是数字签名、身份认证、电子邮件加密等。 AES算法是对称加密算法中的一种比较常用采用128位密钥应用场景主要是网络通信、电子商务等。 MD5、SHA-1等散列函数用于对数据进行加密摘要常用于数字签名和数据校验。 ECC算法是非对称加密算法中的一种与RSA算法相比可采用较短的密钥长度提供更高的安全性。
总之不同的加密算法适用于不同的应用场景应根据实际场景进行选择和配置。
对称加密算法是一种加密方式使用同一密钥进行加密和解密。在加密过程中明文被加密成密文密文可以通过同一密钥进行解密还原成明文。对称加密算法比非对称加密算法更加高效因为它不需要使用复杂的数学运算加密和解密的速度比较快。
对称加密算法也称为共享密钥加密算法因为在通信双方中同一密钥需要被分享使用。在加密过程中密钥需要保密因此通信双方需要采取必要的措施来保证密钥安全。对称加密算法有很多种其中最常见的算法包括DESData Encryption Standard、3DESTriple DES、AESAdvanced Encryption Standard等。
对称加密算法具有以下优点
加密和解密速度较快实现简单适用于大量数据加密。
但对称加密算法也有一些缺点
密钥需要在通信双方之间共享因此密钥管理和分配会带来一定的安全风险无法提供数字签名和身份认证等安全性质。
非对称加密算法也被称为公钥密码算法是一种加密技术它使用两个密钥来进行加密和解密操作其中一个密钥被称为公钥公开另一个密钥被称为私钥保密。
在非对称加密算法中公钥和私钥是成对生成的它们之间有密切的关联。公钥可以被任何人使用来加密数据但只有拥有相应私钥的人才能进行解密。因此公钥可以在不安全的环境下公开而私钥必须保密。
非对称加密算法的常见应用包括加密数据传输、数字签名和密钥交换。例如当两个人需要进行加密通信时他们可以使用对方的公钥来加密信息只有对方才能使用自己的私钥进行解密。数字签名也是一种广泛使用非对称加密算法的技术它可以验证发送方身份和消息完整性。在密钥交换中双方可以使用非对称加密算法来协商一个共享密钥从而实现对称加密。
常见的非对称加密算法包括RSA、Diffie-Hellman、Elliptic Curve Cryptography等。在安全性和效率方面不同的算法有不同的表现因此需要根据具体应用场景进行选择。
RSA是一种非对称加密算法它是目前最常用的公钥密码算法之一。该算法的安全性基于大质数分解困难问题即将一个大的合数分解成两个素数的乘积是一件极其困难的任务。RSA加密算法由三个关键步骤组成密钥生成、加密和解密。 密钥生成 在RSA加密算法中首先需要随机生成两个大质数p和q并计算它们的乘积npq。然后选择一个整数e1 e φ(n)使得e与φ(n)互质这里φ(n)表示n的欧拉函数也就是小于n且与n互质的正整数个数。接着计算d使得ed ≡ 1 mod φ(n)。最后将(e, n)作为公钥将(d, n)作为私钥。 加密 RSA加密算法使用公钥进行加密对于明文M将其转化为数字m满足0 m n。然后计算C ≡ m^e mod n得到密文C。 解密 RSA加密算法使用私钥进行解密对于密文C计算m ≡ C^d mod n得到明文m并将其转化为字符串M。
RSA加密算法有许多优点例如安全性高、可靠性强、可支持数据的加密和数字签名等应用。但同时它也有一些缺点例如加密和解密的速度相对较慢且密钥较长会影响算法的效率和性能。因此在实际应用中需要根据具体情况选择合适的加密算法。