Linux创建SSH Key

本文详细介绍了在新Mac电脑上如何检查并生成SSH密钥,以便于进行GitLab等服务器的免密登录,包括检查SSHKey的方法、密钥生成步骤和存放位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新登录到一台服务器或新mac电脑是默认没有SSH Key的。但是想要进行Gitlab或其他服务器的免密登录需要配置SSH后才可以。方法如下:
1、如何检查有没有SSH Key:

cd ~/.ssh

如果没有该目录或该目录下没有id_rsa和id_rsa.pub就说明没有SSH Key
id_rsa是私钥,id_rsa.pub是公钥(记住pub是公共的意思就好了~)
2、没有SSH Key的话就要手动生成:
终端输入以下命令:

ssh-keygen -t rsa -C "your_name@mail.com"

-t The type of the key to generate 要生成的密钥类型

-C comment to identify the key Key的标识

一直点击回车,直到命令执行结束
在这里插入图片描述
生成SSH Key成功
3、到~/.ssh中可以看到已经有id_rsa和id_rsa.pub两个文件了

### 关于Linux SSH Key管理工具和方法 在Linux系统中,SSH密钥是一种用于身份验证的安全机制。通过使用公钥加密技术,可以实现无密码登录并提高系统的安全性。以下是几种常用的SSH密钥管理和配置的方法以及相关工具。 #### 使用`ssh-keygen`生成SSH密钥对 最基础也是最重要的工具之一就是`ssh-keygen`命令,它能够用来创建SSH密钥对。通常情况下,默认会生成RSA或者ED25519类型的密钥[^1]。 ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 此命令将会提示用户指定保存位置与设置密码保护私钥(推荐)。完成后会在用户的`.ssh`目录下找到两个文件:一个是私钥(`id_ed25519`);另一个则是对应的公钥(`id_ed25519.pub`)。 #### 配置远程服务器接受新的SSH Keys 为了使本地计算机可以通过SSH密钥访问目标机器,需将生成好的公钥追加到目标主机上的`~/.ssh/authorized_keys`文件里。这一步骤可通过手动复制粘贴完成,也可以利用更简便的方式——即执行如下脚本自动上传: ```bash ssh-copy-id user@remote_host ``` 上述操作之后便无需再输入密码即可建立连接。 #### 利用GPG代理增强安全性和便利性 对于那些希望进一步简化流程同时又不牺牲保密性的开发者来说,“gpg-agent”是一个不错的选择。它可以存储解锁后的私钥一段时间从而减少频繁重新输入解密短语的需求。具体做法是在启动终端之前先加载环境变量: ```bash eval $(gpg-agent --daemon) export GPG_TTY=$(tty) ``` 接着修改`~/.gnupg/gpg.conf`, 添加下面这一行来启用pinentry程序交互界面请求PIN码: ``` use-agent ``` 最后,在每次需要调用的时候告诉OpenSSL去哪里寻找这个守护进程实例的位置信息: ```bash export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-socket)" ``` #### 管理多个账户下的不同keys 当一个人拥有不止一套SSH keys时(比如个人邮箱对应的一套和个人工作单位分配给自己的另一套),就需要特别注意区分它们的应用场景以免混淆造成麻烦。一种解决办法就是在各自的config文件夹里面定义好规则映射关系。编辑位于家目录中的隐藏文件“.ssh/config”,添加类似这样的条目: ```plaintext Host github-personal HostName github.com User git IdentityFile ~/.ssh/id_rsa_personal Host bitbucket-work HostName bitbucket.org User git IdentityFile ~/.ssh/id_rsa_work ``` 这样以后就可以分别针对不同的仓库地址采用相应的认证方式而不会互相干扰了[^4]。 #### 定期审查已授权的Keys列表 随着时间推移可能会积累很多不再使用的旧记录项占据空间甚至带来潜在风险隐患因此建议定期清理不必要的条目保持整洁有序的状态。查看当前生效的所有public key非常简单只需要读取该路径的内容就可以了: ```bash cat ~/.ssh/authorized_keys ``` 如果发现某些不应该存在的项目可以直接删除掉相应部分但要小心谨慎以防误删有用的资料[^3]。 #### 总结 综上所述,从基本概念到高级技巧都有涉及到了关于如何更好地管理维护Linux平台上面基于SSH协议构建起来的身份验证体系的知识要点。无论是初学者还是有一定经验的技术人员都应该掌握这些实用技能以便日常工作中更加高效便捷地处理各类网络通信事务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值