如何生成SSH key用于AWS SFTP公钥认证及配置问题
AWS SFTP迁移SSH密钥配置问题答复
客户侧当前正在推进SFTP服务向AWS平台迁移,新服务将全面关闭密码登录入口,通过SSH密钥对做访问安全加固,需要我方提供对应公钥,两个常见操作问题的明确结论如下:
直接执行ssh-keygen命令能不能生成符合要求的密钥对?
默认参数跑ssh-keygen生成的密钥对基本能用,但为了避免兼容性问题、符合当前安全标准,不建议直接用默认参数生成,推荐带指定参数执行:
- 优先选ed25519算法,安全性高、性能好,没有老版本的兼容性坑,执行命令:
ssh-keygen -t ed25519 -C "sftp_your_company_mark" - 要是本地OpenSSH版本太老不支持ed25519,就用RSA算法,注意密钥长度必须大于等于2048位,推荐直接设4096位,执行命令:
ssh-keygen -t rsa -b 4096 -C "sftp_your_company_mark"
重要提醒:生成过程中提示输入passphrase的时候,如果是自动化脚本对接、需要无人值守访问可以留空,如果是人工手动登录访问一定要设个强密码;最后给客户的是生成出来带
.pub后缀的公钥内容,私钥自己存好,绝对不能发给任何人。
QA环境和生产环境要不要分开生成密钥对、单独给公钥?
必须分开生成、单独提供,没有任何共用的必要,原因很实在:
- 安全风险隔离:两个环境权限完全不互通,各用各的密钥,万一某一个环境的私钥漏了,不会直接把另一个环境的权限也搭进去,符合最小权限原则
- 运维方便:后续要轮换密钥、回收权限的时候,哪个环境要动就改哪个,不会互相影响业务
- 适配AWS的架构逻辑:一般QA和生产的SFTP服务本来就部署在不同AWS账号、不同资源组下,分开配密钥本身就和云平台的隔离设计对齐
内容的提问来源于stack exchange,提问作者fatherazrael
相关产品推荐
相关产品推荐

