首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 秘钥分发

基础概念

Linux秘钥分发主要涉及SSH(Secure Shell)协议,用于在客户端和服务器之间建立安全的加密连接。秘钥分发通常使用公钥/私钥对来实现无密码登录,提高安全性。

相关优势

  1. 安全性:公钥/私钥对比传统密码更安全,因为私钥通常存储在本地,不易被窃取。
  2. 便捷性:一旦配置好公钥/私钥对,用户可以无密码登录多个服务器,无需每次都输入密码。
  3. 管理方便:可以轻松管理多个用户的访问权限,只需在服务器上添加或删除公钥即可。

类型

  1. 对称密钥:客户端和服务器使用相同的密钥进行加密和解密。
  2. 非对称密钥:客户端和服务器使用不同的密钥(公钥和私钥)进行加密和解密。

应用场景

  1. 服务器管理:管理员可以使用秘钥对远程管理多台服务器,无需每次都输入密码。
  2. 自动化部署:在持续集成/持续部署(CI/CD)流程中,可以使用秘钥对自动部署应用到目标服务器。
  3. 安全访问:为团队成员提供安全的远程访问权限,确保只有授权用户才能访问服务器。

常见问题及解决方法

问题1:如何生成公钥/私钥对?

代码语言:txt
复制
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa:指定生成RSA密钥对。
  • -b 4096:指定密钥长度为4096位。
  • -C "your_email@example.com":添加注释信息。

生成的密钥对默认存储在~/.ssh目录下,文件名为id_rsa(私钥)和id_rsa.pub(公钥)。

问题2:如何将公钥分发到服务器?

代码语言:txt
复制
ssh-copy-id user@server_ip
  • user:目标服务器上的用户名。
  • server_ip:目标服务器的IP地址。

执行该命令后,系统会提示输入目标服务器的密码,成功后公钥会被添加到目标服务器的~/.ssh/authorized_keys文件中。

问题3:如何验证无密码登录是否成功?

代码语言:txt
复制
ssh user@server_ip

如果配置正确,系统会直接登录到目标服务器,无需输入密码。

问题4:遇到“Permission denied (publickey)”错误怎么办?

  1. 检查公钥是否正确添加:确保公钥已正确添加到目标服务器的~/.ssh/authorized_keys文件中。
  2. 检查权限设置:确保~/.ssh目录和~/.ssh/authorized_keys文件的权限设置正确。
代码语言:txt
复制
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  1. 检查SSH配置:确保目标服务器的/etc/ssh/sshd_config文件中以下配置项未被注释:
代码语言:txt
复制
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启SSH服务:

代码语言:txt
复制
sudo systemctl restart sshd

参考链接

通过以上步骤,你可以成功生成、分发和使用Linux秘钥对,实现安全的无密码登录。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux之秘钥登录

两台主机(服务器)秘钥登录流程图 img 我们从A主机(左边)秘钥登录到B服务器(右边) A主机生成公钥 生成公钥私钥,一般不需要特殊设置一路回车默认下一步即可 > ssh-keygen Generating...B服务器添加A主机的公钥 在B服务器对应登录账号的家目录下的.ssh/authorized_keys文件添加A主机的公钥 比如我们要使用rumenz账号进行秘钥登录,就是配置/home/rumenz/....> chmod 600 /home/rumenz//.ssh/authorized_keys > chmod 700 /home/rumenz/.ssh sshd服务安全配置 开启秘钥登录 > vim...RSAAuthentication yes PubkeyAuthentication yes 重启sshd服务 > service sshd restart 密钥方式登录成功后,再禁用密码登录 一定要秘钥登录成功后...> vim /etc/ssh/sshd_config PasswordAuthentication no > service sshd restart 秘钥登录测试 A主机的命令行输入 > ssh

73910

linux之秘钥登录

两台主机(服务器)秘钥登录流程图 [img] 我们从A主机(左边)秘钥登录到B服务器(右边) A主机生成公钥 生成公钥私钥,一般不需要特殊设置一路回车默认下一步即可 > ssh-keygen Generating...B服务器添加A主机的公钥 在B服务器对应登录账号的家目录下的.ssh/authorized_keys文件添加A主机的公钥 比如我们要使用rumenz账号进行秘钥登录,就是配置/home/rumenz/....> chmod 600 /home/rumenz//.ssh/authorized_keys > chmod 700 /home/rumenz/.ssh sshd服务安全配置 开启秘钥登录 > vim...> vim /etc/ssh/sshd_config PasswordAuthentication no > service sshd restart 秘钥登录测试 A主机的命令行输入ssh rumenz...原文链接:https://rumenz.com/rumenbiji/linux-secret-key-login.html

73500
  • linux之秘钥登录

    两台主机(服务器)秘钥登录流程图 [img] 我们从A主机(左边)秘钥登录到B服务器(右边) A主机生成公钥 生成公钥私钥,一般不需要特殊设置一路回车默认下一步即可 > ssh-keygen Generating...B服务器添加A主机的公钥 在B服务器对应登录账号的家目录下的.ssh/authorized_keys文件添加A主机的公钥 比如我们要使用rumenz账号进行秘钥登录,就是配置/home/rumenz/....> chmod 600 /home/rumenz//.ssh/authorized_keys > chmod 700 /home/rumenz/.ssh sshd服务安全配置 开启秘钥登录 > vim...> vim /etc/ssh/sshd_config PasswordAuthentication no > service sshd restart 秘钥登录测试 A主机的命令行输入ssh rumenz...原文链接:https://rumenz.com/rumenbiji/linux-secret-key-login.html 微信公众号:入门小站

    83300

    Linux设置仅秘钥登录

    需求 Linux服务器设置仅秘钥登录,禁止密码登录。 这个小破站都被黑了,密码被强制破解后登录,蚌埠住了。 主要是想的自己小博客也没啥机密信息,不会真有人无聊到来黑吧,不会吧不会吧,结果还真有。...以下是我的处理方式 linux w命令 先w下看是不是正在登录,结果一查,还真有个广州的登录还在线,记录下该登录的IP。...腾讯云控制台-SSH秘钥 控制台中创建秘钥并绑定自己的实例服务器。 在Xshell中测试下使用秘钥登录 测试可以登录成功。...  AuthorizedKeysFile .ssh/authorized_keys #公钥的保存位置腾讯云配置时已自动加上,不用手动加,应该。   ...此时密码登录已不可录入,仅支持秘钥登录。配置成功。 先将就着用着,后面还被黑了在考虑别的法子。

    1.9K10

    ssh秘钥登录

    自己在网上找ssh秘钥登录的教程,发现写的都不符合我迷糊的那一点:然后自己查man帮助。...刚开始的时候不知道Linux如何充当SSH client,然后自己已解决,解决见下 本地生成密钥(public key 和 private key)。...(这就是为什么先在本地生成密钥,而不是在登录你的vps以后生成然后把私钥下载到本地,任何时刻都要保证私钥处在一个安全的地方) 使用想远程连接SSH服务器哪个用户,在客户端上就必须用哪个用户生成秘钥对,公钥必须放在服务器上对应用户的家目录下面...]# ifconfig eth2|awk -F "[ :]+" 'NR==2 {print $4}'   #获取当前网络的IP地址 172.16.1.61 #生成一个类型为rsa的1024 bits的秘钥...,-f指定生成的秘钥文件存放的位置 [root@m01 ~]# ssh-keygen -t rsa -b 1024 -f /root/.ssh/id_backup   (批量管理的时候可以通过这个名字来确定是那台服务器的秘钥

    2.8K30

    Ubuntu 配置 SSH 秘钥登录

    为了确保安全,一般情况下,我们在自己的机器上不会选择使用密码登录,必要时还会关闭 root 账户的 ssh 登录功能 生成 SSH 秘钥对 先使用 ssh-keygen 创建一个密钥对 如果对安全性有更高的追求...预期应生成两个文件 id_rsa 和 id_rsa.pub 部署 SSH 公钥 将公钥添加进 ~/.ssh/authorized_keys 文件中 ubuntu@ubuntu:~/.ssh$ cat ..../authorized_keys 重启 SSH 服务,尝试使用秘钥进行连接 sudo service sshd restart 修改 SSH 配置文件 修改 /etc/ssh/sshd_config 文件...PermitRootLogin without-password # 禁用 ROOT 密码登录 # 禁用密码认证 PasswordAuthentication no 禁用 ROOT 密码登录适用于一些为高级账号使用统一秘钥...,而低级账号使用其他验证方式的场景,这样可以更加便于管理服务器 最好待测试成功使用秘钥登录后再禁用密码登录 最后重启 SSH 服务 sudo service sshd restart

    95910

    Mac使用秘钥登录Linux服务器「建议收藏」

    简介 在 Mac 上配置 SSH 密钥登录远程的 Linux 相关配置 1.创建本地的 SSH 密钥 本地 生成秘钥对 ssh-keygen -t rsa -C 'youxiang@aliyun.com...' -t 指定密钥类型,默认即 rsa -C 设置注释文字,比如你的邮箱 可以设置 私钥密码,我这里设置的密码为 12345 生成的密钥默认在 家目录 下的 .ssh 目录下 2.上传 公钥到远程...Linux 服务器 使用 scp 复制公钥到远程服务器 scp -P ~/.ssh/id_rsa.pub @:/home/id_rsa.pub 我这里使用的 root...用户上传,需要输入登录密码 配置远程 Linux 的私钥 3.登录 远程 Linux 服务器,把公钥追加到服务器 ssh 认证文件中: cat /home/id_rsa.pub >> ~/.ssh...此时就可以使用 ssh jd 进行登录 禁止 Linux 使用账号密码登录 1. cd /etc/ssh/ 2.修改 SSH 的配置文件 vi sshd_config RSAAuthentication

    2K30

    Https之秘钥交换过程分析

    2.对称加密 加密和解密为同一秘钥。 除非A和B面对面,找个小角落窃窃私语约定秘钥,况且在现实生活中,躲在小房子里面的小声说话,也有可能被别人听见,隔墙有耳大家应该都听过吧。...因为是网络传输,秘钥需要在网络上传输给对方,在不安全的信道上倘若被C截获到对称秘钥,那么仍然会出现数据被中间人篡改和冒名顶替的问题。...3.非对称加密 A生成公钥和私钥,私钥是自己用的保留在本地不再在网络上进行传输,公钥是分发给其他人用的,随便传输给其他人(一般是下发的证书中包含公钥然后返回给请求者),因为公钥私钥是一对,私钥加密的只有公钥才能够解密...非对称加密主要应用在秘钥协商阶段 !协商好秘钥之后的通信就用对称加密了 ! Https秘钥交换过程 客户端要访问一个网站,向支持https的服务器发起请求。...客户端向服务器发送自己支持的秘钥交换算法列表。 服务器选取一种秘钥交换算法加上CA证书返回给客户端。

    52720
    领券