linux私钥公钥连接后 不能传输文件,Linux使用私钥公钥登录 - 免密码登录

PublicKey认证基本原理

Public Key(非对称,asymmetric)认证使用一对相关联的Key Pair(一个公钥Public Key,一个私钥Private Key)来代替传统的密码(或我们常说的口令,Password)。顾名思义,PublicKey是用来公开的,可以将其放到SSH服务器自己的帐号中,而PrivateKey只能由自己保管,用来证明自己身份。

使用PublicKey加密过的数据只有用与之相对应的PrivateKey才能解密。这样在认证的过程中,PublicKey拥有者便可以通过PublicKey加密一些东西发送给对应的PrivateKey拥有者,如果在通信的双方都拥有对方的PublicKey(自己的PrivateKey只由自己保管),那么就可以通过这对Key Pair来安全地交换信息,从而实现相互认证。在使用中,我们把自己的PublicKey放在通过安全渠道放到服务器上,PrivateKey自己保管(用一个口令把PrivateKey加密后存放),而服务器的PublicKey一般会在第一次登录服务器的时候存放到本地客户端(严格地说来服务器的PublicKey也应该通过安全渠道放到本地客户端,以防止别人用他自己的PublicKey来欺骗登录)。

所以,为了更安全、方便的登录Linux服务器,可以取消密码登录,使用私钥公钥的方式来登录,更方便也更安全。

生成密钥

借助Xshell可以很方便的生成和管理私钥,点击工具菜单,选择新建用户密钥生成向导:

c7d17f6a2a12da6ad25da799985557e5.png

直接点击下一步

073bcdf1b0a46926620f4258f60ad12e.png

0b6cf949d2505d61cdc3168278824ad2.png

输入名称和密码,再点击下一步

61499d60e1d461eca77bb1baea7bce57.png

将公钥保存起来备用,公钥需要上传到Linux服务器上。

92bc9cb99720620e202440c445dcf924.png

上传公钥

先使用用户名和密码登录,然后输入命令

cd .ssh

将公钥保存到 .ssh 目录

122c78d0108da95089e4b00e29f03a80.png

221dbb4dcdcc5045aa5c26e38d7aceb9.png

上传成功如下图所示:

55cef0542791dd97589cdd172fb4367e.png

导入公钥

公钥上传好以后,需要导入公钥

cat RemotePPK.pub >> authorized_keys

导入成功以后,可以删除RemotePPK.pub文件了,当然不删也没什么问题。修改authorized_keys文件的权限为600,默认为600,为防止不是,重新设置一下:

rm RemotePPk.pub

chmod 600 *

使用公钥登录

打开用户身份验证,选择登录方法为 Public Key,并选择刚创建的密钥,输入密码即可。

d9e04ef0f2a8b69acf09ae799f3a84d8.png

取消密码登录

做了这么多,目的就是为了取消密码登录,在尝试使用公钥可以正常登录以后,就可以取消密码登录了,直接删除用户的密码即可

passwd -d root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值