V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Kobayashi  ›  全部回复第 18 页 / 共 57 页
回复总数  1130
1 ... 14  15  16  17  18  19  20  21  22  23 ... 57  
2021-10-17 18:08:18 +08:00
回复了 Wanerlove 创建的主题 程序员 gitee ssh 抽风了嘛
更正:

- bitbucket 还需要指定 HostKeyAlgorithms +ssh-rsa
- 另外上条回复末尾 bitbucket 不支持椭圆曲线应该是错误的,不能只依据 host key algorithms 判断
2021-10-17 17:27:27 +08:00
回复了 Wanerlove 创建的主题 程序员 gitee ssh 抽风了嘛
@chengfeng 基本是正确的。严格来说不是 RSA 被废弃,RSA 公钥仍然安全,废弃的只是认证过程中的 ssh-rsa 签名格式,或者说哈希算法。

自从 OpenSSH 7.2,rsa-sha2-* 取代 ssh-rsa 作为默认的 ssh host key algorithm 签名算法。8.2 时通知 ssh-rsa 之后将废弃,8.8 正式废弃了 ssh-rsa.

https://security.stackexchange.com/a/226133/203193
> The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. **These algorithms have the advantage of using the same key type as "ssh-rsa" but use the safe SHA-2 hash algorithms.** These have been supported since OpenSSH 7.2 and are already used by default if the client and server support them.

另外影响的只是 ssh-rsa hash 算法格式,RSA 公钥(即 id_rsa 文件)仍然使用 ssh-rsa 格式。 因为 RSA 公钥不依赖 hash 函数。

https://www.ietf.org/rfc/rfc8332.txt
> Since RSA keys are not dependent on the choice of hash function, the new public key algorithms reuse the "ssh-rsa" public key format as
defined in [RFC4253]:

https://superuser.com/a/1488613/733022
> RSA keys themselves are neither "SHA1" nor "SHA2" - the key format doesn't involve any hash algorithm at all. The private key just consists of two large numbers, and unlike certificates, there is no attached signature.

https://superuser.com/a/1556861/733022
> The key format has not changed. The only thing that changes is the signature format that's sent during each authentication handshake.

---

回归原问题,OpenSSH 8.8 客户端默认不提供 ssh-rsa hash function,而远端服务端不接受非 ssh-rsa 外的 rsa-sha2-*. 协商失败。

目前已知受影响的有 gitee.com, bitbucket.org.

测试方法: ssh -T [email protected] -vv 或者 ssh -T [email protected]. -vv 开启 debug2 级别日志。在结果中检索 'host key algorithms',注意有 2 条匹配,一条客户端的,一条服务端的。

gitee: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519. OpenSSH 服务端没有支持 rsa-sha2-*.
bitbucket 就更狠了: ssh-rsa,ssh-dss. 根本就不支持任何椭圆曲线签名算法。
2021-10-14 13:03:01 +08:00
回复了 hijoker 创建的主题 SSH 有没有这样的一个 ssh 命令行工具
fzf 配置好后自带此功能,不过触发通过 ssh ** 双星后按 Tab 补全。
补全内容来自文件 ~/.ssh/config ~/.ssh/config.d/* /etc/ssh/ssh_config
源码在 https://github.com/junegunn/fzf/blob/master/shell/completion.bash
2021-10-13 22:05:43 +08:00
回复了 siwadiya 创建的主题 GitHub ssh github 突然报 Connection closed?
export GIT_SSH_COMMAND="ssh -vvv"
2021-10-10 20:57:11 +08:00
回复了 foam 创建的主题 分享创造 迫于想本地听歌,写了个 b 站音视频下载脚本
2021-10-10 20:43:39 +08:00
回复了 trh 创建的主题 分享发现 安卓上最好的浏览器是 Firefox Nightly
Firefox nightly 更新太频繁了,还是换 iceraven 比较好
https://github.com/fork-maintainers/iceraven-browser/releases
2021-10-01 20:20:38 +08:00
回复了 skpoo 创建的主题 优惠信息 免费获得 Notion 的 500 刀额度 - 需要信用卡
@FlyPuff 应该先开 Team 这样会有 15 刀免费试用,然后兑 250 刀 HAPPYHOUR coupon 。退了 Team 再兑 1000 刀 和 500 刀的 coupon 。

否则 credit 高于 200 需要自己掏 Team Plan 的 10 刀月费。这样拿到 1740 而不是 1750.
2021-10-01 20:02:37 +08:00
回复了 skpoo 创建的主题 优惠信息 免费获得 Notion 的 500 刀额度 - 需要信用卡
总计可以拿 1750 刀,有额外 250 刀 coupon 需要开通 Team Plan 才能兑换。https://www.ozbargain.com.au/node/654695
2021-09-28 15:15:01 +08:00
回复了 guanyinv2clay 创建的主题 Chrome chrome 请求搜索域 x6.lan, 导致访问慢
错了,用 dnsmasq 应该不是 Windows,总之把 OS 级别的自动代理检测关了。

在没有使用 dnsmasq 之前,操作系统默认拿到的是路由器下发的 DNS 服务器,通常是路由器自己运行了一个转发 DNS 。路由器知道自己 DHCP 服务下有哪些客户端,可能用这些信息作为对 .lan 的响应。如果没有匹配也不会将 .lan 转发给公共 DNS 服务器。
2021-09-28 15:09:47 +08:00
回复了 guanyinv2clay 创建的主题 Chrome chrome 请求搜索域 x6.lan, 导致访问慢
把 Windows 的自动检测代理关了试试?

另外,.lan 属于本地域名,应该配置 dnsmasq 不向上游转发,可能之前你没配置对导致向外部 DNS 转发查询了。
@forgottencoast 你是说那个 B 站视频,我记得本来价值就不大,没有大纲比较啰嗦,倍速随便听听就好。
感觉我回的还是有点歪了,业务上的设计问题,框架、库关系好像也不大。设计好项目还是得参考现成的、流行的同类型项目源码。
方向错了。计算机导论、算法不属于你作为后端的技能点。以前听别人扯淡提到过类似观点, [程序员如何避免青春饭-哔哩哔哩] https://b23.tv/npQo6N

计算机科学导论、编译器原理、TCP 协议等属于底层基础,你干活是应用层的事,中间隔着好几层对于你没有任何影响。
算法属于八股(至少对后端来说是这样),只在面试会用到。考算法和高考、考研没太大区别,考完可能完全用不到,是学习能力的一种考察方式罢了。

设计模式可以读读,但平时写的时候可能想不起来。建议多翻一翻自己常用框架、库的源码,看看行家们是如何设计项目的,能对应到哪种设计模式。近朱者赤,近墨者黑,研究行业大师们写的东西总能混到点经验。注意自顶向下,从应用层往下打。一些反例:研究框架原理直奔 socket 连接创建;研究网络协议直接 TCP 。
2021-09-23 13:18:40 +08:00
回复了 gdgoldlion 创建的主题 iPhone 写写如何识别防摔手机壳?
关键词 rhinoshield
2021-09-23 08:06:23 +08:00
回复了 yan17 创建的主题 Linux 有哪些可以显示代码类图的工具?
类图的不知道,关系追踪试试 https://github.com/CoatiSoftware/Sourcetrail
感觉 Outlook 别名账户半残,邮箱号变了但发件人名字强制使用账户资料里的姓名。
2021-09-22 09:15:23 +08:00
回复了 gosidealone 创建的主题 问与答 不懂就问, m1 的 homebrew 安装的软件都是适配 m1 的嘛?
未必,Homebrew 只是个包管理工具,软件包本身不支持 arm64 可能它也没辙,仍有少部分包不支持 arm. https://github.com/Homebrew/brew/issues/10152

“m1 的 homebrew”一词本身可能有歧义。在 m1 上,Homebrew 分为 native arm install 和 Rosetta 2 install. 现在默认安装的应该是前者(表现为使用 /opt/homebrew 路径),其安装的包也大多是支持 arm 的。如果遇到不支持 arm 的包,会安装失败。这个时候唯一方案是再安装一份 rosetta homebrew,我的理解就是安装 x86 包,通过 Rosetta 2 兼容运行在 ARM CPU 上。
2021-09-21 14:34:55 +08:00
回复了 AJDX3906 创建的主题 问与答 chrome 为何总以管理员权限运行
卸载了重装到 C:\Users\用户名\AppData\Local\Google\Chrome
或者想办法使 IDM 闭嘴
2021-09-18 20:36:14 +08:00
回复了 wiirhan 创建的主题 git rebase 还是 merge?
@ospider git flow 是严格了点,实践中未必要严格遵守使用,但其中的分支使用思想经久不衰。鉴于楼主目前遵循的分支使用逻辑是分支合并结果要保留单一直线,我觉的推荐 git flow 正合适。
2021-09-18 18:02:56 +08:00
回复了 wiirhan 创建的主题 git rebase 还是 merge?
@Kobayashi 仔细想了一想,之前的长回复应该补充一点。主要是楼主的问题应该从两个角度回答,我只回答了其中一部分。

楼主问题提到“2 个远程分支合并”,是指原来两个分支都和主分支在一条线上,如果一个分支先合并,另一个与更新后的主分支分叉,合并时发生了 merge --no-ff. 按照楼主的理解,分支合并应该是

1. rebase 到主分支,保证分之合并前没有分叉
2. merge --ff,保证分支合并后没有额外 merge commit.

其实这就是 非 Git 版本控制工具 的分支使用逻辑:分支历史必须是一条线,分支起点必须是主分支最新提交。如 SVN.

这个问题实际要分为 2 个部分:

1. 合并分支前是否要 rebase?
2. merge 是否使用 --ff 快速推进,要不要不产生额外的“合并提价”?

我之前的回复其实只针对了 2,介绍了 Git 分支非一条支线的特性,推荐了 --no-ff 合并。

如果只针对 1,可以根据情况:

- 如果向主分支合并时发生冲突,可以合并时解决冲突。或者 rebase 解决冲突,再合并。
- 或者你想让提交历史图( timeline )更清晰一点,也可以先做 rebase 一下。如当前分支和合并前主分支时间隔的太久,直接合并后分支线头尾跨得太远,不好查看。或者是不想多个分支线合并后有交叉。(敲完才发现楼上 @msg7086 回复,参考其“理想的 timeline”一图,非常漂亮)
- 或者分支合并前不做 rebase,降低工作流使用门槛。如 Github PR 合并方式:直接给你在网页上整一个按钮,点击后 merge --no-ff.

不管哪种情况,推荐 merge --no-ff 优先。一些特殊情况,如分支上 只有 1 个新提交,可以 --ff 快速推进。
1 ... 14  15  16  17  18  19  20  21  22  23 ... 57  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3280 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 12:10 · PVG 20:10 · LAX 04:10 · JFK 07:10
Developed with CodeLauncher
♥ Do have faith in what you're doing.