生成 公私钥

Linux ssh-keygen生成公钥和私钥

 

下面的命令在centos6.6上面测试ok。

以前都是需要连续输入3次回车,现在加入参数后,直接在~/.ssh目录下生成id_rsa和id_rsa.pub

ssh-keygen  -t rsa -N '' -f ~/.ssh/id_rsa -q -b 2048

-N '' 是指密码为空;

-f id_rsa是指保存文件为~/.ssh/id_rsa和~/.ssh/id_rsa.pub;

-q是指静默模式,和unzip的-q参数一样的;

-b是指位数,可以指定1024这类的,默认是2048;

上面-q -b 2048可以不需要。

### 如何使用 PuTTY 生成 SSH 公私钥对 #### 使用 PuTTY Key Generator (PuTTYgen) 创建密钥对 为了实现基于 SSH 密钥的身份验证,可以通过 PuTTY 自带的工具 `PuTTYgen` 来生成公私钥对。以下是具体操作方法: 1. **启动 PuTTYgen 工具** 打开 PuTTY 安装目录下的 `PuTTYgen.exe` 文件。 2. **选择加密算法和位数** 在界面中可以选择要使用的加密算法(如 RSA 或 ED25519),以及密钥长度(推荐使用默认值 2048 或更高)。这一步决定了密钥的安全强度[^1]。 3. **生成密钥对** 点击界面上的 “Generate” 按钮后,按照提示移动鼠标以提供随机性数据。完成后,程序会自动生成一对公私钥[^4]。 4. **保存私钥 (.ppk)** 私钥是本地计算机上的敏感文件,应妥善保管并设置密码保护。点击 “Save private key” 按钮将其存储为 `.ppk` 格式文件。 5. **复制或导出公钥** 公钥需手动复制到目标 Linux 主机上。通常可以直接选中显示区域内的公钥内容(蓝色框标注部分),右键即可完成复制。如果需要更正式的方式,则可利用 “Save public key” 功能另存一份文本文件。 6. **配置远程服务器端授权访问** 登录至目标 Linux 系统,在用户家目录下创建隐藏文件夹 `.ssh` 并编辑其中名为 `authorized_keys` 的文档,粘贴刚才获取到的内容进去;最后调整该路径及其内部对象权限如下所示: ```bash chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys ``` #### 配置 PuTTY 进行无密码登录测试 加载之前制作好的 PPK 文档到 Session -> Connection -> Data 下面指定 Auto-login username 字段填写对应用户名;接着切换至 Auth 子选项卡上传关联项 Private key file for authentication 中浏览定位已准备就绪的那个 ppk 形态档案资料位置信息提交确认之后尝试建立新的 session 即可体验无缝衔接效果啦! ```python import paramiko private_key_path = 'path/to/private/key.ppk' username = 'your_username' client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) pkey = paramiko.RSAKey.from_private_key_file(private_key_path) try: client.connect('hostname_or_ip', port=22, username=username, pkey=pkey) except Exception as e: print(f'Error connecting to server: {e}') finally: client.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值