1. ssh 更新到新的算法
mac 系统升级到 ventura 13.1 后,遇到 ssh 之前配置了免密登录,但仍然需要密码的问题
After the Mac system is upgraded to Ventura 13.1, I encounter the problem that SSH is configured with passwordless login, but the password is still required, my solution is to upgrade and encrypt the server’s key to ed25519:
|
|
more about see man sshd_config
, search keywords HostKey
and HostKeyAlgorithms
|
|
2. mac 系统升级到 ventura 13.1 后, ssh 遇到 key type 不匹配问题
ssh 遇到Unable to negotiate with UNKNOWN port 65535: no matching host key type found. Their offer: ssh-rsa,ssh-dss
因为高版本 openssl 默认不再支持 ssh-rsa
算法,因为存在安全隐患: https://www.zdnet.com/article/openssh-to-deprecate-sha-1-logins-due-to-security-risk/
参考: https://stackoverflow.com/questions/73795935/sign-and-send-pubkey-no-mutual-signature-supported
2.1. ssh 设置(支持 ssh-rsa,ssh-dss 算法)
|
|
2.2. 也可以在 ~/.ssh/ssh_config 配置
|
|
3. 如何保持 SSH Seesion 会话
参考: https://patrickmn.com/aside/how-to-keep-alive-ssh-sessions/
通常大部分客户端会有相关 SSH 会话的保持功能,但如果是A->B->C
这类,客户端工具通常无法支持B->C
这段链路的会话保持(大多数跳板机就是类似 Case)
可以通过下述方式实现(5min 会发送一个空包给对端,限定的重试阈值(2 次)都没有收到回包,则默认为连接断开!
3.1. 作为客户端保持
- for 所有用户:
/etc/ssh/ssh_config
- for 当前用户:
~/.ssh/ssh_config
|
|
3.2. 作为 sshd 服务,让客户端保持会话
在/etc/ssh/sshd_config
配置内开启下面两个属性
|
|