使用ssh-keygen生成密钥
使用 ssh-keygen 生成密钥
参考资料
https://learn.microsoft.com/zh-cn/azure/virtual-machines/linux/create-ssh-keys-detailed
快速开始
以下 ssh-keygen
命令默认在 ~/.ssh
目录中生成 4096 位 SSH RSA 公钥和私钥文件。 如果当前位置存在 SSH 密钥对,这些文件将被覆盖。
# 生成私钥和公钥
ssh-keygen -m PEM -t rsa -b 4096
# 详细生成私钥和公钥
ssh-keygen -m PEM -t rsa -b 4096 -C "azureuser@myserver" -f ~/.ssh/mykeys/myprivatekey -N mypassphrase
# 用私钥生成公钥
ssh-keygen -y -f /path/to/id_rsa > /path/to/new_id_rsa.pub
命令解释
ssh-keygen
= 用于创建密钥的程序
-m PEM
= 将密钥的格式设为 PEM
-t rsa
= 要创建的密钥类型,本例中为 RSA 格式
-b 4096
= 密钥的位数,本例中为 4096
-C "azureuser@myserver"
= 追加到公钥文件末尾以便于识别的注释。 通常以电子邮件地址用作注释,但也可以使用任何最适合你基础结构的事物。
-f ~/.ssh/mykeys/myprivatekey
= 私钥文件的文件名(如果选择不使用默认名称)。 追加了 .pub
的相应公钥文件在相同目录中生成。 该目录必须存在。
-N mypassphrase
= 用于访问私钥文件的其他密码。
-y
私钥生成公钥
-f
指定私钥路径
用法
服务器配置
私钥用于连接,公钥内容写入放在被连接主机的~/.ssh/authorized_keys
文件中,同时确保~/.ssh
目录权限是700
,~/.ssh/authorized_keys
文件权限是600
。
配置/etc/ssh/sshd_config
以下内容已启用
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
客户端连接
ssh -i /path/to/private_key_file username@hostname
-i
指定私钥文件路径
/path/to/private_key_file
:您要使用的私钥文件的路径。
username
:远程服务器上的用户名。
hostname
:远程服务器的主机名或IP地址。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?