开发者社区> 问答> 正文

linux中使用公钥认证的方法是什么呢?

linux中使用公钥认证的方法是什么呢?

展开
收起
游客qzzytmszf3zhq 2021-12-05 15:25:02 359 0
1 条回答
写回答
取消 提交回答
  • 公钥认证比密码登录安全多了,因为它不受暴力密码攻击的影响,但是并不方便因为它依赖于 RSA 密钥对。首先,你要创建一个公钥/私钥对。下一步,私钥放于你的客户端电脑,并且复制公钥到你想登录的远程服务器。你只能从拥有私钥的电脑登录才能登录到远程服务器。你的私钥就和你的家门钥匙一样敏感;任何人获取到了私钥就可以获取你的账号。你可以给你的私钥加上密码来增加一些强化保护规则。

    使用 RSA 密钥对管理多个用户是一种好的方法。当一个用户离开了,只要从服务器删了他的公钥就能取消他的登录。

    以下例子创建一个新的 3072 位长度的密钥对,它比默认的 2048 位更安全,而且为它起一个独一无二的名字,这样你就可以知道它属于哪个服务器。

    $ ssh-keygen -t rsa -b 3072 -f id_mailserver 以下创建两个新的密钥,

    id_mailserver 和

    id_mailserver.pub id_mailserver 是你的私钥--不要传播它!现在用

    ssh-copy-id 命令安全地复制你的公钥到你的远程服务器。你必须确保在远程服务器上有可用的 SSH 登录方式。

    $ ssh-copy-id -i id_rsa.pub user@remoteserver

    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed user@remoteserver's password:

    Number of key(s) added: 1

    Now try logging into the machine, with: "ssh 'user@remoteserver'" and check to make sure that only the key(s) you wanted were added. ssh-copy-id 会确保你不会无意间复制了你的私钥。从上述输出中复制登录命令,记得带上其中的单引号,以测试你的新的密钥登录。

    $ ssh 'user@remoteserver' 它将用你的新密钥登录,如果你为你的私钥设置了密码,它会提示你输入。

    2021-12-05 15:57:43
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载