WindTerm生成密钥实现登录

目录

1.实现密钥登录主要分为五步

2.使用ssh-Key命令生成公钥和私钥

1.将公钥写进服务器里

2.如果权限不够,我们需要修改权限,在这里我们可以使用 ll -d命令来查看权限。

2.1在这里我们可以看到这个.ssh目录的权限是700,则不需要进行修改。如果权限不够我们可以使用chmod命令来修改权限。

2.2我们还需要对authorized文件进行修改权限 这个文件权限默认是600 如果这里大家的权限是600,就可以不用修改了,在这里给大家示范一下需要改权限的文件。

这样呢,我们的权限就修改完成啦。

                           3.保存私钥到本地电脑,用于登录。

3.1 使用sz命令把系统文件下载到本地电脑

注:sz的使用方法(sz+文件名)

注:这里的id_rsa是私钥,id_rsa.pub是公钥。我们下载私钥id_rsa就行。然后保存到我们本地电脑即可。(切记保存的地方一定要记住)

                           4.修改配置文件

注:这里的+43,是指打开文件光标直接就在第43行,方便我们查找。

解释一下这里我们修改的配置文件时通过密钥登录。

4.1 在这里我们只要修改两个地方就可以了,第一将#去掉,第二将no改为yes即可,然后wq保存退出。

这样呢,我们的服务端就配置好啦。

4.2 1)接下来我们点击会话,新建会话。

2)这里的主机名就写你们的IP地址,然后点击确定。​

3)输入自己的用户名,然后点击继续。

4)在这里我们选择私钥登录,浏览选中我们刚才保存的那个文件即可。

5)选择好文件点击登录​​​​​​​

6)登录成功

喜欢的小伙伴可以点赞收藏关注!谢谢!


1.实现密钥登录主要分为五步

1 | 生成密钥(公钥和私钥)
2 | 放置公钥(pub Key)到服务器上 /ssh、authorized_Key文件中
3 | 拷贝私钥 用于登录
4 | 修改配置文件信息
5 | 实现私钥登录

2.使用ssh-Key命令生成公钥和私钥

[root@ning ~]# ssh-Keygen

1.将公钥写进服务器里

2.如果权限不够,我们需要修改权限,在这里我们可以使用 ll -d命令来查看权限。

2.1在这里我们可以看到这个.ssh目录的权限是700,则不需要进行修改。如果权限不够我们可以使用chmod命令来修改权限。
[root@ning ~]# chmod 700 .ssh/

2.2我们还需要对authorized文件进行修改权限 这个文件权限默认是600 如果这里大家的权限是600,就可以不用修改了,在这里给大家示范一下需要改权限的文件。
[root@ning .ssh] # chmod 600 authorized_keys

这样呢,我们的权限就修改完成啦。

3.保存私钥到本地电脑,用于登录。

3.1 使用sz命令把系统文件下载到本地电脑
注:sz的使用方法(sz+文件名)
[root@ning .ssh]# sz id_rsa

注:这里的id_rsa是私钥,id_rsa.pub是公钥。我们下载私钥id_rsa就行。然后保存到我们本地电脑即可。(切记保存的地方一定要记住)

4.修改配置文件

[root@ning ~]# vim /etc/ssh/sshd_config +43
注:这里的+43,是指打开文件光标直接就在第43行,方便我们查找。
解释一下这里我们修改的配置文件时通过密钥登录。
4.1 在这里我们只要修改两个地方就可以了,第一将#去掉,第二将no改为yes即可,然后wq保存退出。

这样呢,我们的服务端就配置好啦。
4.2 1)接下来我们点击会话,新建会话。

2)这里的主机名就写你们的IP地址,然后点击确定。
3)输入自己的用户名,然后点击继续。
4)在这里我们选择私钥登录,浏览选中我们刚才保存的那个文件即可。

5)选择好文件点击登录
6)登录成功

喜欢的小伙伴可以点赞收藏关注!谢谢!

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是使用PyCharm实现AES随机子密钥生成算法的示例代码: ```python from Crypto.Cipher import AES import os # 生成随机子密钥 def generate_subkey(key): aes = AES.new(key, AES.MODE_ECB) subkey = os.urandom(16) return aes.encrypt(subkey) # 加密函数 def encrypt(key, plaintext): aes = AES.new(key, AES.MODE_ECB) ciphertext = aes.encrypt(plaintext) subkey = generate_subkey(key) aes = AES.new(subkey, AES.MODE_ECB) encrypted_subkey = aes.encrypt(subkey) return encrypted_subkey + ciphertext # 解密函数 def decrypt(key, ciphertext): encrypted_subkey = ciphertext[:16] subkey = AES.new(key, AES.MODE_ECB).decrypt(encrypted_subkey) aes = AES.new(subkey, AES.MODE_ECB) plaintext = aes.decrypt(ciphertext[16:]) return plaintext # 测试代码 if __name__ == '__main__': key = os.urandom(16) plaintext = b'This is a test plaintext.' ciphertext = encrypt(key, plaintext) decrypted_plaintext = decrypt(key, ciphertext) print(decrypted_plaintext) ``` 在这个示例代码中,我们使用了PyCryptodome库中的AES模块来实现AES加密和解密。为了实现随机子密钥生成算法,我们使用了Python的内置模块os来生成随机字节串。我们首先使用给定的密钥生成一个AES对象,然后使用该对象加密随机生成的16个字节的子密钥。接下来,我们使用该子密钥加密明文,并将加密后的子密钥和密文拼接在一起,作为最终的密文。在解密时,我们首先从密文中提取出加密后的子密钥,然后使用给定的密钥解密该子密钥,最后使用解密后的子密钥解密密文,得到明文。 需要注意的是,这个示例代码中的密钥和明文都是字节串,需要根据实际需求作出修改。此外,由于本算法生成的密文长度比明文长度多了16个字节,因为需要存储加密后的子密钥,所以在实际应用中需要注意。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值