既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
kexAlgoDHGEXSHA1: {}, // server half implementation is only minimal to satisfy the automated tests
kexAlgoDHGEXSHA256: {}, // server half implementation is only minimal to satisfy the automated tests
}
// preferredKexAlgos specifies the default preference for key-exchange
// algorithms in preference order. The diffie-hellman-group16-sha512 algorithm
// is disabled by default because it is a bit slower than the others.
var preferredKexAlgos = []string{
kexAlgoCurve25519SHA256, kexAlgoCurve25519SHA256LibSSH,
kexAlgoECDH256, kexAlgoECDH384, kexAlgoECDH521,
kexAlgoDH14SHA256, kexAlgoDH14SHA1,
}
// supportedHostKeyAlgos specifies the supported host-key algorithms (i.e. methods
// of authenticating servers) in preference order.
var supportedHostKeyAlgos = []string{
CertAlgoRSASHA256v01, CertAlgoRSASHA512v01,
CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01,
CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoED25519v01,
KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521,
KeyAlgoRSASHA256, KeyAlgoRSASHA512,
KeyAlgoRSA, KeyAlgoDSA,
KeyAlgoED25519,
}
####
### 如何扩展支持的算法
#### 1. Fork 官方库
如果需要添加的算法尚未在 Go 语言的 SSH 库中实现,你可以 Fork 官方库,并在 Fork 的版本中添加需要的算法。
#### 2. 实现算法
按照 SSH 或加密算法的规范,实现所需的密钥交换或加密算法。
#### 3. 修改 SSH 配置
在 SSH 客户端和服务器的配置中,将新实现的算法添加到相应的列表中。例如:
>
> `ClientCfg.Config.Ciphers = append(ClientCfg.Config.Ciphers, "my-custom-cipher") ClientCfg.Config.KeyExchanges = append(ClientCfg.Config.KeyExchanges, "my-custom-kex")`
>
>
>
#### 4. 测试
进行全面的测试,确保新添加的算法在各种场景下都能正常工作。
#### 5. 合并到主分支(可选)
如果这个算法对其他人也有用,可以尝试将我们的更改提交到 Go SSH 库的主分支中。
### 安全性注意事项
* 在扩展新算法之前,务必进行全面的安全评估。
* 请确保遵循所有相关的加密标准和最佳实践。
### 结论
![img](https://img-blog.csdnimg.cn/img_convert/609da6fd4aa4e43f5415211fece9d165.png)
![img](https://img-blog.csdnimg.cn/img_convert/19eedf348d97e02e6dc328a3de677429.png)
![img](https://img-blog.csdnimg.cn/img_convert/2220c682546f9c78cc7471322e5819a8.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**
学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**