Codeberg/Community
54
327
Fork
You've already forked Community
12

git fetch takes 4 seconds to ssh connect #2312

Open
opened 2026年01月14日 18:49:09 +01:00 by andrewrk · 2 comments

Comment

Thanks for taking a look. Seems to be ssh taking most of the time:

$ GIT_TRACE_PERFORMANCE=true GIT_TRACE_PACKET=true GIT_CURL_VERBOSE=true GIT_TRACE=true git fetch
09:46:31.109664 git.c:476 trace: built-in: git fetch
09:46:31.111544 read-cache.c:2360 performance: 0.001775847 s: read cache .git/index
09:46:31.111966 run-command.c:673 trace: run_command: unset GIT_PREFIX; GIT_PROTOCOL=version=2 /nix/store/h44876m5fzv3zwh7kpa96xi03f6pfpkf-openssh-10.0p2/bin/ssh -o SendEnv=GIT_PROTOCOL git@codeberg.org 'git-upload-pack '\''/ziglang/zig.git'\'''
09:46:31.111973 run-command.c:765 trace: start_command: /nix/store/h44876m5fzv3zwh7kpa96xi03f6pfpkf-openssh-10.0p2/bin/ssh -o SendEnv=GIT_PROTOCOL git@codeberg.org 'git-upload-pack '\''/ziglang/zig.git'\'''
09:46:34.594152 pkt-line.c:85 packet: fetch< version 2
09:46:34.594475 pkt-line.c:85 packet: fetch< agent=git/2.47.3
09:46:34.594483 pkt-line.c:85 packet: fetch< ls-refs=unborn
09:46:34.594488 pkt-line.c:85 packet: fetch< fetch=shallow wait-for-done filter
09:46:34.594492 pkt-line.c:85 packet: fetch< server-option
09:46:34.594496 pkt-line.c:85 packet: fetch< object-format=sha1
09:46:34.594499 pkt-line.c:85 packet: fetch< 0000
09:46:34.594504 pkt-line.c:85 packet: fetch> command=ls-refs
09:46:34.594519 pkt-line.c:85 packet: fetch> agent=git/2.50.1-Linux
09:46:34.594523 pkt-line.c:85 packet: fetch> object-format=sha1
09:46:34.594528 pkt-line.c:85 packet: fetch> 0001
09:46:34.594531 pkt-line.c:85 packet: fetch> peel
09:46:34.594535 pkt-line.c:85 packet: fetch> symrefs
09:46:34.594540 pkt-line.c:85 packet: fetch> unborn
09:46:34.594543 pkt-line.c:85 packet: fetch> ref-prefix refs/heads/
09:46:34.594546 pkt-line.c:85 packet: fetch> ref-prefix refs/tags/
09:46:34.594549 pkt-line.c:85 packet: fetch> ref-prefix HEAD
09:46:34.594566 pkt-line.c:85 packet: fetch> 0000
09:46:34.749037 pkt-line.c:85 packet: fetch< 9d1a39c50ffeca1e42ed5f1b75a05d92eec869db HEAD symref-target:refs/heads/master
09:46:34.749059 pkt-line.c:85 packet: fetch< 3420675269807d5a71ceae3871389b2164665c74 refs/heads/0.10.x
09:46:34.749066 pkt-line.c:85 packet: fetch< aeb866687d3bd982c78022de77fc8381b8658e75 refs/heads/0.11.x
09:46:34.749071 pkt-line.c:85 packet: fetch< 9eb4b14eb8d371b26312e9555cd0ad3e75770692 refs/heads/0.12.x
09:46:34.749074 pkt-line.c:85 packet: fetch< 6d1f0eca773e688c802e441589495b7bde2f9e3f refs/heads/0.14.x
09:46:34.749077 pkt-line.c:85 packet: fetch< eef8deb918210a9d9d0732ef523b20e2cb963f01 refs/heads/0.15.x
09:46:34.749082 pkt-line.c:85 packet: fetch< 783cb980ab137d6a99c20f007d70b4191d4a63c4 refs/heads/0.7.x
09:46:34.749086 pkt-line.c:85 packet: fetch< 9c4f082d7e00f2a3af7186cfc2b518f0fcceaaa0 refs/heads/0.8.x
09:46:34.749089 pkt-line.c:85 packet: fetch< 09797d48c89d243755630cfe66e981dfd6e1f56e refs/heads/0.9.x
09:46:34.749093 pkt-line.c:85 packet: fetch< 933f7baa83d3a13373ff36e5028130ce428effa8 refs/heads/ArrayList-reserve
09:46:34.749097 pkt-line.c:85 packet: fetch< 2b5306a94b0c2bf83f10e4634cec77a19dd2e08d refs/heads/Io.net
09:46:34.749100 pkt-line.c:85 packet: fetch< 60e2ea0bfbb8a8ae2df31a8e45ef8c416a9ff77e refs/heads/ProcessPrng
09:46:34.749106 pkt-line.c:85 packet: fetch< ef2c19d3c1c6fd881398bd79d92c290e90cee701 refs/heads/aro
09:46:34.749110 pkt-line.c:85 packet: fetch< 1884ad0ea37fcb01f763987a930715ba6ab737c7 refs/heads/ast-node-methods
09:46:34.749114 pkt-line.c:85 packet: fetch< 8bcc91c15e966e1661124a73e17cf446e21831e9 refs/heads/async-await-demo
09:46:34.749118 pkt-line.c:85 packet: fetch< 9501ea688f414c3c8af473f9f6ba471ed2c1953e refs/heads/autofix
09:46:34.749121 pkt-line.c:85 packet: fetch< c89a20741abfb3270a60999b4336dc39cd2fae8b refs/heads/ci-perf-comment
09:46:34.749125 pkt-line.c:85 packet: fetch< 373a4990a4cc5ab04e33620c3b624d18ea1896a9 refs/heads/ci-scripts
09:46:34.749128 pkt-line.c:85 packet: fetch< f91a8d127c1ff26a78f71c42a3c7fd58df58361c refs/heads/ci-tarballs
09:46:34.749132 pkt-line.c:85 packet: fetch< 8de26d5382a0f34db62f6e7d3b45b73ef801588f refs/heads/cli
09:46:34.749141 pkt-line.c:85 packet: fetch< 504c85a62641fecb29ead2cc2c900374fb4210a8 refs/heads/comptime-allocator
09:46:34.749144 pkt-line.c:85 packet: fetch< 479e62e8ee18c958de50bfb5d09e934522c8435d refs/heads/debug-file-leaks
09:46:34.749148 pkt-line.c:85 packet: fetch< fa74b80ab6c4932d10fffd267d88da4a3c01b4a4 refs/heads/debug-file-leaks-differently
09:46:34.749152 pkt-line.c:85 packet: fetch< 4f7a3c23e731a4a2e0694b6fa2e4751eb4c7f82d refs/heads/elfv2-dyn
09:46:34.749156 pkt-line.c:85 packet: fetch< a98dcbfbb913e19212d4093bdbb2221b2778e134 refs/heads/fixes
09:46:34.749160 pkt-line.c:85 packet: fetch< 7a50e76eb14df322033f3b96547cd62a5691df6f refs/heads/fuzz-macos
09:46:34.749163 pkt-line.c:85 packet: fetch< ce890060350a848590a7371f11316c2040a89a2b refs/heads/hate-letter-to-std.os
09:46:34.749167 pkt-line.c:85 packet: fetch< b1930a3b57577e6a61582ae536943512ea31bcb6 refs/heads/hcs
09:46:34.749171 pkt-line.c:85 packet: fetch< 7f24c5b659c9dc2da1963476781ebacfe35b1a45 refs/heads/i-am-a-foolish-fool
09:46:34.749175 pkt-line.c:85 packet: fetch< 1354b5773e508f9605c506e602abbec3a3b9b866 refs/heads/incr-bug
09:46:34.749178 pkt-line.c:85 packet: fetch< c199124a84f3c4b8d1eabb10620ae5be7d0275f9 refs/heads/io-threaded-no-queue
09:46:34.749182 pkt-line.c:85 packet: fetch< 6684b908c5552c4eef09be3493ba64aea5fcff3d refs/heads/io-uring-update
09:46:34.749185 pkt-line.c:85 packet: fetch< c8cdb94333406086d8db79b1d537a4f1529123e7 refs/heads/jobserver
09:46:34.749189 pkt-line.c:85 packet: fetch< 44a35b9c50601cc5b52d8691c4d192e2671be0c2 refs/heads/json-diagnostics
09:46:34.749192 pkt-line.c:85 packet: fetch< a740833c421fb2be590c61566595aa511337f263 refs/heads/llvm-ir-nosanitize-metadata
09:46:34.749196 pkt-line.c:85 packet: fetch< 3da6e671997442df44df3257e882819eae649c8d refs/heads/llvm22
09:46:34.749200 pkt-line.c:85 packet: fetch< 7889c08151d266f2b513e3e5f223ee6b870b13eb refs/heads/macos-debug-info
09:46:34.749203 pkt-line.c:85 packet: fetch< 5e512051190602bbff0f9b06fbb4a9a9bf5a5fff refs/heads/main
09:46:34.749208 pkt-line.c:85 packet: fetch< b31c32879d9c8b368726012fc5b98fa1d90453ce refs/heads/make-vs-configure
09:46:34.749211 pkt-line.c:85 packet: fetch< 9d1a39c50ffeca1e42ed5f1b75a05d92eec869db refs/heads/master
09:46:34.749215 pkt-line.c:85 packet: fetch< a8e2a21a86673c2f5ebecb3d21701e12bdca683c refs/heads/more-doctests
09:46:34.749219 pkt-line.c:85 packet: fetch< 25cf0b59d86cfba7bafec7d9aeae31e843a5417e refs/heads/new-pkg-hash
09:46:34.749223 pkt-line.c:85 packet: fetch< 3b71c697ab7f4a1d325f39558a3d4443fb73edc6 refs/heads/poll
09:46:34.749226 pkt-line.c:85 packet: fetch< f633a4845aeea5f390d4ea1b05e5d957efb02966 refs/heads/poll-ring
09:46:34.749229 pkt-line.c:85 packet: fetch< f250802ce794589f77367113335216c1993f7412 refs/heads/restricted-function-pointers
09:46:34.749233 pkt-line.c:85 packet: fetch< f34deec4e23281ea51a27056ffba7955697e2141 refs/heads/rework-comptime-mutation
09:46:34.749237 pkt-line.c:85 packet: fetch< bfdd63e7cbfd29afc1c44cbe26a6ba9ee85ec88d refs/heads/riscv-ci
09:46:34.749244 pkt-line.c:85 packet: fetch< bf3f63a34a2e3101bf44bffd07c2e045aae8a834 refs/heads/sans-aro
09:46:34.749248 pkt-line.c:85 packet: fetch< 8703053296a10f971ef119369116e6b7ef2e3798 refs/heads/sha1-stream
09:46:34.749252 pkt-line.c:85 packet: fetch< 9f5c1038c334e38ac9a5033e973475953b0ee76e refs/heads/spork8
09:46:34.749255 pkt-line.c:85 packet: fetch< 8bc759e094cda907acc64c50b86ceb9d3a87213f refs/heads/stage2-async
09:46:34.749259 pkt-line.c:85 packet: fetch< 126cc174ce3aadf771c4496b3f19c99d5688bffd refs/heads/test-no-bin
09:46:34.749263 pkt-line.c:85 packet: fetch< a239e65b54a5030310ce721593a94a6289b625fe refs/heads/threadpool
09:46:34.749267 pkt-line.c:85 packet: fetch< c6e7c2cb80e9362da1f16ab3a229e40157e583eb refs/heads/threadtheft
09:46:34.749270 pkt-line.c:85 packet: fetch< 168da23d8f556d47ae9e029f70806cbd4bfad431 refs/heads/wasm-linker-writer
09:46:34.749274 pkt-line.c:85 packet: fetch< b9e1fef5628f01892cf09ade4425625a2cf34911 refs/heads/wrangle-writer-buffering
09:46:34.749278 pkt-line.c:85 packet: fetch< f010530deda5c70e48dfaa63e93d03da32398a61 refs/tags/0.1.0 peeled:ad07c68504de00f12a16dfe466bd2cd142ea30e8
09:46:34.749283 pkt-line.c:85 packet: fetch< dc38ec53719fe7f208c43c0a357fbbe0c2e4ad10 refs/tags/0.1.1 peeled:78cb4ce030b037685875cb9814e8be9afda9d4ee
09:46:34.749288 pkt-line.c:85 packet: fetch< d8400e03c33a1abdfd72384ba2b92e1b3aa8fe2d refs/tags/0.10.0 peeled:0c1701768d4fefcc4792ebe39b79e31028c53bfa
09:46:34.749292 pkt-line.c:85 packet: fetch< 8dddabcc995346230a5dec08df262cb8caf99086 refs/tags/0.10.1 peeled:b57081f039bd3f8f82210e8896e336e3c3a6869b
09:46:34.749298 pkt-line.c:85 packet: fetch< 7984448b7fec103c2f55d5fa11296888dd98ba2e refs/tags/0.11.0 peeled:67709b638224ac03820226c6744d8b6ead59184c
09:46:34.749302 pkt-line.c:85 packet: fetch< fbf0edb50e2361250bcdf6abece5b93d959f7288 refs/tags/0.12.0 peeled:a685ab1499d6560c523f0dbce2890dc140671e43
09:46:34.749306 pkt-line.c:85 packet: fetch< 79ad7409a7bdf3ab5ddeefff352946cc404679d1 refs/tags/0.12.1 peeled:b0ba8b728fb8a96a36bea085a2788b9023d16328
09:46:34.749310 pkt-line.c:85 packet: fetch< 15d58e2964b9365de3b216a8372dd165a7831772 refs/tags/0.13.0 peeled:cf90dfd3098bef5b3c22d5ab026173b3c357f2dd
09:46:34.749314 pkt-line.c:85 packet: fetch< f1321085ef2919af1c4ab43352ca30dfba28ff66 refs/tags/0.14.0 peeled:5ad91a646a753cc3eecd8751e61cf458dadd9ac4
09:46:34.749318 pkt-line.c:85 packet: fetch< 795bf646b6be8a97b5e0c1f2a2eb320fa408dde8 refs/tags/0.14.1 peeled:d03a147ea0a590ca711b3db07106effc559b0fc6
09:46:34.749322 pkt-line.c:85 packet: fetch< 94de7c37a03246609f793d95f9c4ab920b1ab2f0 refs/tags/0.15.0 peeled:94cda37d691316ad4129ee37bbdecb911349109f
09:46:34.749326 pkt-line.c:85 packet: fetch< 7aeea0b8d661739d336b425fb0d1b8eb7fe5aa1a refs/tags/0.15.1 peeled:3db960767d12b6214bcf43f1966a037c7a586a12
09:46:34.749334 pkt-line.c:85 packet: fetch< 3eac10ac2933d96a71a90a1424659238169d5f28 refs/tags/0.15.2 peeled:e4cbd752c8c05f131051f8c873cff7823177d7d3
09:46:34.749338 pkt-line.c:85 packet: fetch< 3e90777acb266bacc327e67b1dca1020bb2e1afa refs/tags/0.2.0 peeled:f073923ea08a123402ae2e3ed3db716f120827d4
09:46:34.749342 pkt-line.c:85 packet: fetch< 04cf0b6b2f5199a5ce3dce8555888e0d3d30d72c refs/tags/0.3.0 peeled:e242f6a609eb4d8367e2bf22ce82e210df3142bb
09:46:34.749346 pkt-line.c:85 packet: fetch< 3e3a29a251de420a9c4b696dffbd36a0d3a4c848 refs/tags/0.4.0 peeled:bddbbef32b4a42237ca84352a26a93bf250da918
09:46:34.749350 pkt-line.c:85 packet: fetch< 3b8cd1eb70aaf3b78557a4187262c2292cc072c3 refs/tags/0.5.0 peeled:0dd8adcdb4f3389987629c02f31f949d7a2425af
09:46:34.749354 pkt-line.c:85 packet: fetch< e82e41e8ed5e38778ad38460561aa67fa51701bf refs/tags/0.6.0 peeled:cf750a58d517c03b38509d9d3189c7b7af41820d
09:46:34.749358 pkt-line.c:85 packet: fetch< fb4ea9fbe725b7c414cc373fef61b9d3badaa1d0 refs/tags/0.7.0 peeled:0c90ccc297e18f1a40a8111606a419e99732931f
09:46:34.749362 pkt-line.c:85 packet: fetch< 14ad3d4b1cb1a156e3b7c898a6cdb68dcbef7097 refs/tags/0.7.1 peeled:783cb980ab137d6a99c20f007d70b4191d4a63c4
09:46:34.749366 pkt-line.c:85 packet: fetch< 7f0e194e9ebac67e3afa1280dad71b98e7782393 refs/tags/0.8.0 peeled:a642552faf6d6cde1e8d0492685793498d689983
09:46:34.749372 pkt-line.c:85 packet: fetch< 666fa7671a6db39ee9812d3f3fcd47fa82df3bf0 refs/tags/0.8.1 peeled:12828c09d66873f1626d21c898117969764f3a4f
09:46:34.749376 pkt-line.c:85 packet: fetch< ee1bdaedd3656e61f89c6e46fdb7749d01a50227 refs/tags/0.9.0 peeled:a18bf7a7bfa4e8c32aa25295cfa1ca768e5f5b74
09:46:34.749380 pkt-line.c:85 packet: fetch< 1344e803a23f502cfb949e11b66998e1961631d9 refs/tags/0.9.1 peeled:6d44a6222d6eba600deb7f16c124bfa30628fb60
09:46:34.749383 pkt-line.c:85 packet: fetch< 0000
09:46:34.750608 run-command.c:673 trace: run_command: git rev-list --objects --stdin --not --exclude-hidden=fetch --all --quiet --alternate-refs
09:46:34.750617 run-command.c:765 trace: start_command: /nix/store/3synwab0r8zrk86r5fc8pvmsmlcymabz-git-with-svn-2.50.1/libexec/git-core/git rev-list --objects --stdin --not --exclude-hidden=fetch --all --quiet --alternate-refs
09:46:34.756380 pkt-line.c:85 packet: fetch> 0000
09:46:34.925516 run-command.c:1540 run_processes_parallel: preparing to run up to 1 tasks
09:46:34.925697 run-command.c:1568 run_processes_parallel: done
09:46:34.925705 run-command.c:673 trace: run_command: git maintenance run --auto --no-quiet --detach
09:46:34.926070 run-command.c:765 trace: start_command: /nix/store/3synwab0r8zrk86r5fc8pvmsmlcymabz-git-with-svn-2.50.1/libexec/git-core/git maintenance run --auto --no-quiet --detach
09:46:34.927391 git.c:476 trace: built-in: git maintenance run --auto --no-quiet --detach
09:46:34.927609 trace.c:416 performance: 0.000286659 s: git command: /nix/store/3synwab0r8zrk86r5fc8pvmsmlcymabz-git-with-svn-2.50.1/libexec/git-core/git maintenance run --auto --no-quiet --detach
09:46:34.927805 trace.c:416 performance: 3.818215862 s: git command: git fetch

Ping is 150ms

$ ping codeberg.org
PING codeberg.org (217.197.84.140) 56(84) bytes of data.
64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=1 ttl=56 time=155 ms
64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=2 ttl=56 time=156 ms
64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=3 ttl=56 time=156 ms
64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=4 ttl=56 time=156 ms
^C
--- codeberg.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 155.143/155.590/155.810/0.263 ms
### Comment Thanks for taking a look. Seems to be ssh taking most of the time: ``` $ GIT_TRACE_PERFORMANCE=true GIT_TRACE_PACKET=true GIT_CURL_VERBOSE=true GIT_TRACE=true git fetch 09:46:31.109664 git.c:476 trace: built-in: git fetch 09:46:31.111544 read-cache.c:2360 performance: 0.001775847 s: read cache .git/index 09:46:31.111966 run-command.c:673 trace: run_command: unset GIT_PREFIX; GIT_PROTOCOL=version=2 /nix/store/h44876m5fzv3zwh7kpa96xi03f6pfpkf-openssh-10.0p2/bin/ssh -o SendEnv=GIT_PROTOCOL git@codeberg.org 'git-upload-pack '\''/ziglang/zig.git'\''' 09:46:31.111973 run-command.c:765 trace: start_command: /nix/store/h44876m5fzv3zwh7kpa96xi03f6pfpkf-openssh-10.0p2/bin/ssh -o SendEnv=GIT_PROTOCOL git@codeberg.org 'git-upload-pack '\''/ziglang/zig.git'\''' 09:46:34.594152 pkt-line.c:85 packet: fetch< version 2 09:46:34.594475 pkt-line.c:85 packet: fetch< agent=git/2.47.3 09:46:34.594483 pkt-line.c:85 packet: fetch< ls-refs=unborn 09:46:34.594488 pkt-line.c:85 packet: fetch< fetch=shallow wait-for-done filter 09:46:34.594492 pkt-line.c:85 packet: fetch< server-option 09:46:34.594496 pkt-line.c:85 packet: fetch< object-format=sha1 09:46:34.594499 pkt-line.c:85 packet: fetch< 0000 09:46:34.594504 pkt-line.c:85 packet: fetch> command=ls-refs 09:46:34.594519 pkt-line.c:85 packet: fetch> agent=git/2.50.1-Linux 09:46:34.594523 pkt-line.c:85 packet: fetch> object-format=sha1 09:46:34.594528 pkt-line.c:85 packet: fetch> 0001 09:46:34.594531 pkt-line.c:85 packet: fetch> peel 09:46:34.594535 pkt-line.c:85 packet: fetch> symrefs 09:46:34.594540 pkt-line.c:85 packet: fetch> unborn 09:46:34.594543 pkt-line.c:85 packet: fetch> ref-prefix refs/heads/ 09:46:34.594546 pkt-line.c:85 packet: fetch> ref-prefix refs/tags/ 09:46:34.594549 pkt-line.c:85 packet: fetch> ref-prefix HEAD 09:46:34.594566 pkt-line.c:85 packet: fetch> 0000 09:46:34.749037 pkt-line.c:85 packet: fetch< 9d1a39c50ffeca1e42ed5f1b75a05d92eec869db HEAD symref-target:refs/heads/master 09:46:34.749059 pkt-line.c:85 packet: fetch< 3420675269807d5a71ceae3871389b2164665c74 refs/heads/0.10.x 09:46:34.749066 pkt-line.c:85 packet: fetch< aeb866687d3bd982c78022de77fc8381b8658e75 refs/heads/0.11.x 09:46:34.749071 pkt-line.c:85 packet: fetch< 9eb4b14eb8d371b26312e9555cd0ad3e75770692 refs/heads/0.12.x 09:46:34.749074 pkt-line.c:85 packet: fetch< 6d1f0eca773e688c802e441589495b7bde2f9e3f refs/heads/0.14.x 09:46:34.749077 pkt-line.c:85 packet: fetch< eef8deb918210a9d9d0732ef523b20e2cb963f01 refs/heads/0.15.x 09:46:34.749082 pkt-line.c:85 packet: fetch< 783cb980ab137d6a99c20f007d70b4191d4a63c4 refs/heads/0.7.x 09:46:34.749086 pkt-line.c:85 packet: fetch< 9c4f082d7e00f2a3af7186cfc2b518f0fcceaaa0 refs/heads/0.8.x 09:46:34.749089 pkt-line.c:85 packet: fetch< 09797d48c89d243755630cfe66e981dfd6e1f56e refs/heads/0.9.x 09:46:34.749093 pkt-line.c:85 packet: fetch< 933f7baa83d3a13373ff36e5028130ce428effa8 refs/heads/ArrayList-reserve 09:46:34.749097 pkt-line.c:85 packet: fetch< 2b5306a94b0c2bf83f10e4634cec77a19dd2e08d refs/heads/Io.net 09:46:34.749100 pkt-line.c:85 packet: fetch< 60e2ea0bfbb8a8ae2df31a8e45ef8c416a9ff77e refs/heads/ProcessPrng 09:46:34.749106 pkt-line.c:85 packet: fetch< ef2c19d3c1c6fd881398bd79d92c290e90cee701 refs/heads/aro 09:46:34.749110 pkt-line.c:85 packet: fetch< 1884ad0ea37fcb01f763987a930715ba6ab737c7 refs/heads/ast-node-methods 09:46:34.749114 pkt-line.c:85 packet: fetch< 8bcc91c15e966e1661124a73e17cf446e21831e9 refs/heads/async-await-demo 09:46:34.749118 pkt-line.c:85 packet: fetch< 9501ea688f414c3c8af473f9f6ba471ed2c1953e refs/heads/autofix 09:46:34.749121 pkt-line.c:85 packet: fetch< c89a20741abfb3270a60999b4336dc39cd2fae8b refs/heads/ci-perf-comment 09:46:34.749125 pkt-line.c:85 packet: fetch< 373a4990a4cc5ab04e33620c3b624d18ea1896a9 refs/heads/ci-scripts 09:46:34.749128 pkt-line.c:85 packet: fetch< f91a8d127c1ff26a78f71c42a3c7fd58df58361c refs/heads/ci-tarballs 09:46:34.749132 pkt-line.c:85 packet: fetch< 8de26d5382a0f34db62f6e7d3b45b73ef801588f refs/heads/cli 09:46:34.749141 pkt-line.c:85 packet: fetch< 504c85a62641fecb29ead2cc2c900374fb4210a8 refs/heads/comptime-allocator 09:46:34.749144 pkt-line.c:85 packet: fetch< 479e62e8ee18c958de50bfb5d09e934522c8435d refs/heads/debug-file-leaks 09:46:34.749148 pkt-line.c:85 packet: fetch< fa74b80ab6c4932d10fffd267d88da4a3c01b4a4 refs/heads/debug-file-leaks-differently 09:46:34.749152 pkt-line.c:85 packet: fetch< 4f7a3c23e731a4a2e0694b6fa2e4751eb4c7f82d refs/heads/elfv2-dyn 09:46:34.749156 pkt-line.c:85 packet: fetch< a98dcbfbb913e19212d4093bdbb2221b2778e134 refs/heads/fixes 09:46:34.749160 pkt-line.c:85 packet: fetch< 7a50e76eb14df322033f3b96547cd62a5691df6f refs/heads/fuzz-macos 09:46:34.749163 pkt-line.c:85 packet: fetch< ce890060350a848590a7371f11316c2040a89a2b refs/heads/hate-letter-to-std.os 09:46:34.749167 pkt-line.c:85 packet: fetch< b1930a3b57577e6a61582ae536943512ea31bcb6 refs/heads/hcs 09:46:34.749171 pkt-line.c:85 packet: fetch< 7f24c5b659c9dc2da1963476781ebacfe35b1a45 refs/heads/i-am-a-foolish-fool 09:46:34.749175 pkt-line.c:85 packet: fetch< 1354b5773e508f9605c506e602abbec3a3b9b866 refs/heads/incr-bug 09:46:34.749178 pkt-line.c:85 packet: fetch< c199124a84f3c4b8d1eabb10620ae5be7d0275f9 refs/heads/io-threaded-no-queue 09:46:34.749182 pkt-line.c:85 packet: fetch< 6684b908c5552c4eef09be3493ba64aea5fcff3d refs/heads/io-uring-update 09:46:34.749185 pkt-line.c:85 packet: fetch< c8cdb94333406086d8db79b1d537a4f1529123e7 refs/heads/jobserver 09:46:34.749189 pkt-line.c:85 packet: fetch< 44a35b9c50601cc5b52d8691c4d192e2671be0c2 refs/heads/json-diagnostics 09:46:34.749192 pkt-line.c:85 packet: fetch< a740833c421fb2be590c61566595aa511337f263 refs/heads/llvm-ir-nosanitize-metadata 09:46:34.749196 pkt-line.c:85 packet: fetch< 3da6e671997442df44df3257e882819eae649c8d refs/heads/llvm22 09:46:34.749200 pkt-line.c:85 packet: fetch< 7889c08151d266f2b513e3e5f223ee6b870b13eb refs/heads/macos-debug-info 09:46:34.749203 pkt-line.c:85 packet: fetch< 5e512051190602bbff0f9b06fbb4a9a9bf5a5fff refs/heads/main 09:46:34.749208 pkt-line.c:85 packet: fetch< b31c32879d9c8b368726012fc5b98fa1d90453ce refs/heads/make-vs-configure 09:46:34.749211 pkt-line.c:85 packet: fetch< 9d1a39c50ffeca1e42ed5f1b75a05d92eec869db refs/heads/master 09:46:34.749215 pkt-line.c:85 packet: fetch< a8e2a21a86673c2f5ebecb3d21701e12bdca683c refs/heads/more-doctests 09:46:34.749219 pkt-line.c:85 packet: fetch< 25cf0b59d86cfba7bafec7d9aeae31e843a5417e refs/heads/new-pkg-hash 09:46:34.749223 pkt-line.c:85 packet: fetch< 3b71c697ab7f4a1d325f39558a3d4443fb73edc6 refs/heads/poll 09:46:34.749226 pkt-line.c:85 packet: fetch< f633a4845aeea5f390d4ea1b05e5d957efb02966 refs/heads/poll-ring 09:46:34.749229 pkt-line.c:85 packet: fetch< f250802ce794589f77367113335216c1993f7412 refs/heads/restricted-function-pointers 09:46:34.749233 pkt-line.c:85 packet: fetch< f34deec4e23281ea51a27056ffba7955697e2141 refs/heads/rework-comptime-mutation 09:46:34.749237 pkt-line.c:85 packet: fetch< bfdd63e7cbfd29afc1c44cbe26a6ba9ee85ec88d refs/heads/riscv-ci 09:46:34.749244 pkt-line.c:85 packet: fetch< bf3f63a34a2e3101bf44bffd07c2e045aae8a834 refs/heads/sans-aro 09:46:34.749248 pkt-line.c:85 packet: fetch< 8703053296a10f971ef119369116e6b7ef2e3798 refs/heads/sha1-stream 09:46:34.749252 pkt-line.c:85 packet: fetch< 9f5c1038c334e38ac9a5033e973475953b0ee76e refs/heads/spork8 09:46:34.749255 pkt-line.c:85 packet: fetch< 8bc759e094cda907acc64c50b86ceb9d3a87213f refs/heads/stage2-async 09:46:34.749259 pkt-line.c:85 packet: fetch< 126cc174ce3aadf771c4496b3f19c99d5688bffd refs/heads/test-no-bin 09:46:34.749263 pkt-line.c:85 packet: fetch< a239e65b54a5030310ce721593a94a6289b625fe refs/heads/threadpool 09:46:34.749267 pkt-line.c:85 packet: fetch< c6e7c2cb80e9362da1f16ab3a229e40157e583eb refs/heads/threadtheft 09:46:34.749270 pkt-line.c:85 packet: fetch< 168da23d8f556d47ae9e029f70806cbd4bfad431 refs/heads/wasm-linker-writer 09:46:34.749274 pkt-line.c:85 packet: fetch< b9e1fef5628f01892cf09ade4425625a2cf34911 refs/heads/wrangle-writer-buffering 09:46:34.749278 pkt-line.c:85 packet: fetch< f010530deda5c70e48dfaa63e93d03da32398a61 refs/tags/0.1.0 peeled:ad07c68504de00f12a16dfe466bd2cd142ea30e8 09:46:34.749283 pkt-line.c:85 packet: fetch< dc38ec53719fe7f208c43c0a357fbbe0c2e4ad10 refs/tags/0.1.1 peeled:78cb4ce030b037685875cb9814e8be9afda9d4ee 09:46:34.749288 pkt-line.c:85 packet: fetch< d8400e03c33a1abdfd72384ba2b92e1b3aa8fe2d refs/tags/0.10.0 peeled:0c1701768d4fefcc4792ebe39b79e31028c53bfa 09:46:34.749292 pkt-line.c:85 packet: fetch< 8dddabcc995346230a5dec08df262cb8caf99086 refs/tags/0.10.1 peeled:b57081f039bd3f8f82210e8896e336e3c3a6869b 09:46:34.749298 pkt-line.c:85 packet: fetch< 7984448b7fec103c2f55d5fa11296888dd98ba2e refs/tags/0.11.0 peeled:67709b638224ac03820226c6744d8b6ead59184c 09:46:34.749302 pkt-line.c:85 packet: fetch< fbf0edb50e2361250bcdf6abece5b93d959f7288 refs/tags/0.12.0 peeled:a685ab1499d6560c523f0dbce2890dc140671e43 09:46:34.749306 pkt-line.c:85 packet: fetch< 79ad7409a7bdf3ab5ddeefff352946cc404679d1 refs/tags/0.12.1 peeled:b0ba8b728fb8a96a36bea085a2788b9023d16328 09:46:34.749310 pkt-line.c:85 packet: fetch< 15d58e2964b9365de3b216a8372dd165a7831772 refs/tags/0.13.0 peeled:cf90dfd3098bef5b3c22d5ab026173b3c357f2dd 09:46:34.749314 pkt-line.c:85 packet: fetch< f1321085ef2919af1c4ab43352ca30dfba28ff66 refs/tags/0.14.0 peeled:5ad91a646a753cc3eecd8751e61cf458dadd9ac4 09:46:34.749318 pkt-line.c:85 packet: fetch< 795bf646b6be8a97b5e0c1f2a2eb320fa408dde8 refs/tags/0.14.1 peeled:d03a147ea0a590ca711b3db07106effc559b0fc6 09:46:34.749322 pkt-line.c:85 packet: fetch< 94de7c37a03246609f793d95f9c4ab920b1ab2f0 refs/tags/0.15.0 peeled:94cda37d691316ad4129ee37bbdecb911349109f 09:46:34.749326 pkt-line.c:85 packet: fetch< 7aeea0b8d661739d336b425fb0d1b8eb7fe5aa1a refs/tags/0.15.1 peeled:3db960767d12b6214bcf43f1966a037c7a586a12 09:46:34.749334 pkt-line.c:85 packet: fetch< 3eac10ac2933d96a71a90a1424659238169d5f28 refs/tags/0.15.2 peeled:e4cbd752c8c05f131051f8c873cff7823177d7d3 09:46:34.749338 pkt-line.c:85 packet: fetch< 3e90777acb266bacc327e67b1dca1020bb2e1afa refs/tags/0.2.0 peeled:f073923ea08a123402ae2e3ed3db716f120827d4 09:46:34.749342 pkt-line.c:85 packet: fetch< 04cf0b6b2f5199a5ce3dce8555888e0d3d30d72c refs/tags/0.3.0 peeled:e242f6a609eb4d8367e2bf22ce82e210df3142bb 09:46:34.749346 pkt-line.c:85 packet: fetch< 3e3a29a251de420a9c4b696dffbd36a0d3a4c848 refs/tags/0.4.0 peeled:bddbbef32b4a42237ca84352a26a93bf250da918 09:46:34.749350 pkt-line.c:85 packet: fetch< 3b8cd1eb70aaf3b78557a4187262c2292cc072c3 refs/tags/0.5.0 peeled:0dd8adcdb4f3389987629c02f31f949d7a2425af 09:46:34.749354 pkt-line.c:85 packet: fetch< e82e41e8ed5e38778ad38460561aa67fa51701bf refs/tags/0.6.0 peeled:cf750a58d517c03b38509d9d3189c7b7af41820d 09:46:34.749358 pkt-line.c:85 packet: fetch< fb4ea9fbe725b7c414cc373fef61b9d3badaa1d0 refs/tags/0.7.0 peeled:0c90ccc297e18f1a40a8111606a419e99732931f 09:46:34.749362 pkt-line.c:85 packet: fetch< 14ad3d4b1cb1a156e3b7c898a6cdb68dcbef7097 refs/tags/0.7.1 peeled:783cb980ab137d6a99c20f007d70b4191d4a63c4 09:46:34.749366 pkt-line.c:85 packet: fetch< 7f0e194e9ebac67e3afa1280dad71b98e7782393 refs/tags/0.8.0 peeled:a642552faf6d6cde1e8d0492685793498d689983 09:46:34.749372 pkt-line.c:85 packet: fetch< 666fa7671a6db39ee9812d3f3fcd47fa82df3bf0 refs/tags/0.8.1 peeled:12828c09d66873f1626d21c898117969764f3a4f 09:46:34.749376 pkt-line.c:85 packet: fetch< ee1bdaedd3656e61f89c6e46fdb7749d01a50227 refs/tags/0.9.0 peeled:a18bf7a7bfa4e8c32aa25295cfa1ca768e5f5b74 09:46:34.749380 pkt-line.c:85 packet: fetch< 1344e803a23f502cfb949e11b66998e1961631d9 refs/tags/0.9.1 peeled:6d44a6222d6eba600deb7f16c124bfa30628fb60 09:46:34.749383 pkt-line.c:85 packet: fetch< 0000 09:46:34.750608 run-command.c:673 trace: run_command: git rev-list --objects --stdin --not --exclude-hidden=fetch --all --quiet --alternate-refs 09:46:34.750617 run-command.c:765 trace: start_command: /nix/store/3synwab0r8zrk86r5fc8pvmsmlcymabz-git-with-svn-2.50.1/libexec/git-core/git rev-list --objects --stdin --not --exclude-hidden=fetch --all --quiet --alternate-refs 09:46:34.756380 pkt-line.c:85 packet: fetch> 0000 09:46:34.925516 run-command.c:1540 run_processes_parallel: preparing to run up to 1 tasks 09:46:34.925697 run-command.c:1568 run_processes_parallel: done 09:46:34.925705 run-command.c:673 trace: run_command: git maintenance run --auto --no-quiet --detach 09:46:34.926070 run-command.c:765 trace: start_command: /nix/store/3synwab0r8zrk86r5fc8pvmsmlcymabz-git-with-svn-2.50.1/libexec/git-core/git maintenance run --auto --no-quiet --detach 09:46:34.927391 git.c:476 trace: built-in: git maintenance run --auto --no-quiet --detach 09:46:34.927609 trace.c:416 performance: 0.000286659 s: git command: /nix/store/3synwab0r8zrk86r5fc8pvmsmlcymabz-git-with-svn-2.50.1/libexec/git-core/git maintenance run --auto --no-quiet --detach 09:46:34.927805 trace.c:416 performance: 3.818215862 s: git command: git fetch ``` Ping is 150ms ``` $ ping codeberg.org PING codeberg.org (217.197.84.140) 56(84) bytes of data. 64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=1 ttl=56 time=155 ms 64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=2 ttl=56 time=156 ms 64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=3 ttl=56 time=156 ms 64 bytes from codeberg-140.in-berlin.de (217.197.84.140): icmp_seq=4 ttl=56 time=156 ms ^C --- codeberg.org ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 155.143/155.590/155.810/0.263 ms ```

@andrewrk wrote in #2312 (comment):

Seems to be ssh taking most of the time:

Yeah, that's a good diagnosis, it should taken that many roundtrips that the latency is adding up to 4s . So lets look into why SSH is connecting slow, does it also take 4 seconds to connect when doing ssh -vvv git@codeberg.org?

@andrewrk wrote in https://codeberg.org/Codeberg/Community/issues/2312#issue-3238514: > Seems to be ssh taking most of the time: Yeah, that's a good diagnosis, it should taken that many roundtrips that the latency is adding up to 4s . So lets look into why SSH is connecting slow, does it also take 4 seconds to connect when doing `ssh -vvv git@codeberg.org`?

It did. Looks like it was trying multiple identity files before finding the right one, each with a round trip.

I was able to get it down to 2.24 seconds by adding an IdentityFile line in ~/.ssh/config to avoid round trips:

andy@bark ~> time ssh -vvv git@codeberg.org
debug1: OpenSSH_10.0p2, OpenSSL 3.4.2 1 Jul 2025
debug3: Running on Linux 6.17.5 #1-NixOS SMP PREEMPT_DYNAMIC Thu Oct 23 14:24:41 UTC 2025 x86_64
debug3: Started with: ssh -vvv git@codeberg.org
debug1: Reading configuration data /home/andy/.ssh/config
debug1: /home/andy/.ssh/config line 1: Applying options for *
debug1: /home/andy/.ssh/config line 2: Deprecated option "useroaming"
debug1: /home/andy/.ssh/config line 4: Applying options for codeberg.org
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 5: Applying options for *
debug3: /etc/ssh/ssh_config line 7: Including file /nix/store/d84f8nm2na5cr53m4jk0qk2mj7lgr9fx-systemd-257.9/lib/systemd/ssh_config.d/20-systemd-ssh-proxy.conf depth 0
debug1: Reading configuration data /nix/store/d84f8nm2na5cr53m4jk0qk2mj7lgr9fx-systemd-257.9/lib/systemd/ssh_config.d/20-systemd-ssh-proxy.conf
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/andy/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/andy/.ssh/known_hosts2'
debug2: resolving "codeberg.org" port 22
debug3: resolve_host: lookup codeberg.org:22
debug3: channel_clear_timeouts: clearing
debug3: ssh_connect_direct: entering
debug1: Connecting to codeberg.org [217.197.84.140] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: Connection established.
debug1: identity file /home/andy/.ssh/id_ed25519 type 3
debug1: identity file /home/andy/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_10.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_10.0p2 Debian-7
debug1: compat_banner: match: OpenSSH_10.0p2 Debian-7 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to codeberg.org:22 as 'git'
debug3: record_hostkey: found key type ED25519 in file /home/andy/.ssh/known_hosts:15
debug3: record_hostkey: found key type RSA in file /home/andy/.ssh/known_hosts:16
debug3: record_hostkey: found key type ECDSA in file /home/andy/.ssh/known_hosts:17
debug3: load_hostkeys_file: loaded 3 keys from codeberg.org
debug1: load_hostkeys: fopen /home/andy/.ssh/known_hosts2: No such file or directory
debug3: order_hostkeyalgs: have matching best-preference key type ssh-ed25519-cert-v01@openssh.com, using HostkeyAlgorithms verbatim
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com
debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,ext-info-s,kex-strict-s-v00@openssh.com
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug3: kex_choose_conf: will use strict KEX ordering
debug1: kex: algorithm: mlkem768x25519-sha256
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-ed25519 SHA256:mIlxA9k46MmM6qdJOdMnAQpzGxF4WIVVL+fj+wZbw0g
debug3: record_hostkey: found key type ED25519 in file /home/andy/.ssh/known_hosts:15
debug3: record_hostkey: found key type RSA in file /home/andy/.ssh/known_hosts:16
debug3: record_hostkey: found key type ECDSA in file /home/andy/.ssh/known_hosts:17
debug3: load_hostkeys_file: loaded 3 keys from codeberg.org
debug1: load_hostkeys: fopen /home/andy/.ssh/known_hosts2: No such file or directory
debug1: Host 'codeberg.org' is known and matches the ED25519 host key.
debug1: Found key in /home/andy/.ssh/known_hosts:15
debug3: send packet: type 21
debug1: ssh_packet_send2_wrapped: resetting send seqnr 3
debug2: ssh_set_newkeys: mode 1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: Sending SSH2_MSG_EXT_INFO
debug3: send packet: type 7
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: ssh_packet_read_poll2: resetting read seqnr 3
debug1: SSH2_MSG_NEWKEYS received
debug2: ssh_set_newkeys: mode 0
debug1: rekey in after 134217728 blocks
debug2: KEX algorithms: mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com
debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug3: kex_input_ext_info: extension server-sig-algs
debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256>
debug3: kex_input_ext_info: extension publickey-hostbound@openssh.com
debug1: kex_ext_info_check_ver: publickey-hostbound@openssh.com=<0>
debug3: kex_input_ext_info: extension ping@openssh.com
debug1: kex_ext_info_check_ver: ping@openssh.com=<0>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug3: kex_input_ext_info: extension server-sig-algs
debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256>
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Will attempt key: /home/andy/.ssh/id_ed25519 ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw explicit
debug2: pubkey_prepare: done
debug1: Offering public key: /home/andy/.ssh/id_ed25519 ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw explicit
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: /home/andy/.ssh/id_ed25519 ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw explicit
debug3: sign_and_send_pubkey: using publickey-hostbound-v00@openssh.com with ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw
debug3: sign_and_send_pubkey: signing using ssh-ed25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw
debug3: send packet: type 50
debug3: receive packet: type 52
Authenticated to codeberg.org ([217.197.84.140]:22) using "publickey".
debug1: channel 0: new session [client-session] (inactive timeout: 0)
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting no-more-sessions@openssh.com
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: filesystem
debug3: client_repledge: enter
debug3: receive packet: type 80
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug3: client_input_hostkeys: received RSA key SHA256:6QQmYi4ppFS4/+zSZ5S4IU+4sa6rwvQ4PbhCtPEBekQ
debug3: client_input_hostkeys: received ECDSA key SHA256:T9FYDEHELhVkulEKKwge5aVhVTbqCW0MIRwAfpARs/E
debug3: client_input_hostkeys: received ED25519 key SHA256:mIlxA9k46MmM6qdJOdMnAQpzGxF4WIVVL+fj+wZbw0g
debug1: client_input_hostkeys: searching /home/andy/.ssh/known_hosts for codeberg.org / (none)
debug3: hostkeys_foreach: reading file "/home/andy/.ssh/known_hosts"
debug3: hostkeys_find: found ssh-ed25519 key at /home/andy/.ssh/known_hosts:15
debug3: hostkeys_find: found ssh-rsa key at /home/andy/.ssh/known_hosts:16
debug3: hostkeys_find: found ecdsa-sha2-nistp256 key at /home/andy/.ssh/known_hosts:17
debug1: client_input_hostkeys: searching /home/andy/.ssh/known_hosts2 for codeberg.org / (none)
debug1: client_input_hostkeys: hostkeys file /home/andy/.ssh/known_hosts2 does not exist
debug3: client_input_hostkeys: 3 server keys: 0 new, 3 retained, 0 incomplete match. 0 to remove
debug1: client_input_hostkeys: no new or deprecated keys from server
debug3: client_repledge: enter
debug3: receive packet: type 4
debug1: Remote: /home/git/.ssh/authorized_keys:39538: key options: command
debug3: receive packet: type 4
debug1: Remote: /home/git/.ssh/authorized_keys:39538: key options: command
debug3: receive packet: type 91
debug2: channel_input_open_confirmation: channel 0: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug3: send packet: type 98
debug2: channel 0: request shell confirm 1
debug3: send packet: type 98
debug3: client_repledge: enter
debug1: pledge: fork
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: receive packet: type 100
debug2: channel_input_status_confirm: type 100 id 0
PTY allocation request failed on channel 0
debug2: channel 0: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Hi there, andrewrk! You've successfully authenticated with the key named andy@bark, but Forgejo does not provide shell access.
If this is unexpected, please log in with password and setup Forgejo under another user.
debug3: receive packet: type 96
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: chan_shutdown_write: channel 0: (i0 o1 sock -1 wfd 5 efd 6 [write])
debug2: channel 0: output drain -> closed
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug2: channel 0: rcvd eow
debug2: chan_shutdown_read: channel 0: (i0 o3 sock -1 wfd 4 efd 6 [write])
debug2: channel 0: input open -> closed
debug3: receive packet: type 97
debug2: channel 0: rcvd close
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send_close2
debug2: channel 0: send close for remote id 0
debug3: send packet: type 97
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
 #0 client-session (t4 [session] r0 nm0 i3/0 o3/0 e[write]/0 fd -1/-1/6 sock -1 cc -1 nc0 io 0x00/0x00)
Connection to codeberg.org closed.
debug3: send packet: type 1
Transferred: sent 3860, received 4040 bytes, in 0.5 seconds
Bytes per second: sent 7809.2, received 8173.3
debug1: Exit status 0
________________________________________________________
Executed in 2.24 secs fish external
 usr time 9.41 millis 1.47 millis 7.93 millis
 sys time 2.39 millis 0.12 millis 2.27 millis

Still seems like the protocol has more round trips than necessary, but maybe that's just a limitation of ssh.

I mean if we divide that by the ping that's 15, ~8 round trips. Surely, two computers can negotiate a secure connection with fewer than 8 round trips...

It did. Looks like it was trying multiple identity files before finding the right one, each with a round trip. I was able to get it down to 2.24 seconds by adding an `IdentityFile` line in ~/.ssh/config to avoid round trips: ``` andy@bark ~> time ssh -vvv git@codeberg.org debug1: OpenSSH_10.0p2, OpenSSL 3.4.2 1 Jul 2025 debug3: Running on Linux 6.17.5 #1-NixOS SMP PREEMPT_DYNAMIC Thu Oct 23 14:24:41 UTC 2025 x86_64 debug3: Started with: ssh -vvv git@codeberg.org debug1: Reading configuration data /home/andy/.ssh/config debug1: /home/andy/.ssh/config line 1: Applying options for * debug1: /home/andy/.ssh/config line 2: Deprecated option "useroaming" debug1: /home/andy/.ssh/config line 4: Applying options for codeberg.org debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 5: Applying options for * debug3: /etc/ssh/ssh_config line 7: Including file /nix/store/d84f8nm2na5cr53m4jk0qk2mj7lgr9fx-systemd-257.9/lib/systemd/ssh_config.d/20-systemd-ssh-proxy.conf depth 0 debug1: Reading configuration data /nix/store/d84f8nm2na5cr53m4jk0qk2mj7lgr9fx-systemd-257.9/lib/systemd/ssh_config.d/20-systemd-ssh-proxy.conf debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/andy/.ssh/known_hosts' debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/andy/.ssh/known_hosts2' debug2: resolving "codeberg.org" port 22 debug3: resolve_host: lookup codeberg.org:22 debug3: channel_clear_timeouts: clearing debug3: ssh_connect_direct: entering debug1: Connecting to codeberg.org [217.197.84.140] port 22. debug3: set_sock_tos: set socket 3 IP_TOS 0x48 debug1: Connection established. debug1: identity file /home/andy/.ssh/id_ed25519 type 3 debug1: identity file /home/andy/.ssh/id_ed25519-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_10.0 debug1: Remote protocol version 2.0, remote software version OpenSSH_10.0p2 Debian-7 debug1: compat_banner: match: OpenSSH_10.0p2 Debian-7 pat OpenSSH* compat 0x04000000 debug2: fd 3 setting O_NONBLOCK debug1: Authenticating to codeberg.org:22 as 'git' debug3: record_hostkey: found key type ED25519 in file /home/andy/.ssh/known_hosts:15 debug3: record_hostkey: found key type RSA in file /home/andy/.ssh/known_hosts:16 debug3: record_hostkey: found key type ECDSA in file /home/andy/.ssh/known_hosts:17 debug3: load_hostkeys_file: loaded 3 keys from codeberg.org debug1: load_hostkeys: fopen /home/andy/.ssh/known_hosts2: No such file or directory debug3: order_hostkeyalgs: have matching best-preference key type ssh-ed25519-cert-v01@openssh.com, using HostkeyAlgorithms verbatim debug3: send packet: type 20 debug1: SSH2_MSG_KEXINIT sent debug3: receive packet: type 20 debug1: SSH2_MSG_KEXINIT received debug2: local client KEXINIT proposal debug2: KEX algorithms: mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256 debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,zlib@openssh.com debug2: compression stoc: none,zlib@openssh.com debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug2: peer server KEXINIT proposal debug2: KEX algorithms: mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,ext-info-s,kex-strict-s-v00@openssh.com debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519 debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,zlib@openssh.com debug2: compression stoc: none,zlib@openssh.com debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug3: kex_choose_conf: will use strict KEX ordering debug1: kex: algorithm: mlkem768x25519-sha256 debug1: kex: host key algorithm: ssh-ed25519 debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug3: send packet: type 30 debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug3: receive packet: type 31 debug1: SSH2_MSG_KEX_ECDH_REPLY received debug1: Server host key: ssh-ed25519 SHA256:mIlxA9k46MmM6qdJOdMnAQpzGxF4WIVVL+fj+wZbw0g debug3: record_hostkey: found key type ED25519 in file /home/andy/.ssh/known_hosts:15 debug3: record_hostkey: found key type RSA in file /home/andy/.ssh/known_hosts:16 debug3: record_hostkey: found key type ECDSA in file /home/andy/.ssh/known_hosts:17 debug3: load_hostkeys_file: loaded 3 keys from codeberg.org debug1: load_hostkeys: fopen /home/andy/.ssh/known_hosts2: No such file or directory debug1: Host 'codeberg.org' is known and matches the ED25519 host key. debug1: Found key in /home/andy/.ssh/known_hosts:15 debug3: send packet: type 21 debug1: ssh_packet_send2_wrapped: resetting send seqnr 3 debug2: ssh_set_newkeys: mode 1 debug1: rekey out after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: Sending SSH2_MSG_EXT_INFO debug3: send packet: type 7 debug1: expecting SSH2_MSG_NEWKEYS debug3: receive packet: type 21 debug1: ssh_packet_read_poll2: resetting read seqnr 3 debug1: SSH2_MSG_NEWKEYS received debug2: ssh_set_newkeys: mode 0 debug1: rekey in after 134217728 blocks debug2: KEX algorithms: mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com debug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256 debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1 debug2: compression ctos: none,zlib@openssh.com debug2: compression stoc: none,zlib@openssh.com debug2: languages ctos: debug2: languages stoc: debug2: first_kex_follows 0 debug2: reserved 0 debug3: send packet: type 5 debug3: receive packet: type 7 debug1: SSH2_MSG_EXT_INFO received debug3: kex_input_ext_info: extension server-sig-algs debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256> debug3: kex_input_ext_info: extension publickey-hostbound@openssh.com debug1: kex_ext_info_check_ver: publickey-hostbound@openssh.com=<0> debug3: kex_input_ext_info: extension ping@openssh.com debug1: kex_ext_info_check_ver: ping@openssh.com=<0> debug3: receive packet: type 6 debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug3: send packet: type 50 debug3: receive packet: type 7 debug1: SSH2_MSG_EXT_INFO received debug3: kex_input_ext_info: extension server-sig-algs debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256> debug3: receive packet: type 51 debug1: Authentications that can continue: publickey debug3: start over, passed a different list publickey debug3: preferred publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Will attempt key: /home/andy/.ssh/id_ed25519 ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw explicit debug2: pubkey_prepare: done debug1: Offering public key: /home/andy/.ssh/id_ed25519 ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw explicit debug3: send packet: type 50 debug2: we sent a publickey packet, wait for reply debug3: receive packet: type 60 debug1: Server accepts key: /home/andy/.ssh/id_ed25519 ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw explicit debug3: sign_and_send_pubkey: using publickey-hostbound-v00@openssh.com with ED25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw debug3: sign_and_send_pubkey: signing using ssh-ed25519 SHA256:+gIgxK0k8kp3XiR/DNbsdGKMpRVJR5twB8NzNIgubzw debug3: send packet: type 50 debug3: receive packet: type 52 Authenticated to codeberg.org ([217.197.84.140]:22) using "publickey". debug1: channel 0: new session [client-session] (inactive timeout: 0) debug3: ssh_session2_open: channel_new: 0 debug2: channel 0: send open debug3: send packet: type 90 debug1: Requesting no-more-sessions@openssh.com debug3: send packet: type 80 debug1: Entering interactive session. debug1: pledge: filesystem debug3: client_repledge: enter debug3: receive packet: type 80 debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0 debug3: client_input_hostkeys: received RSA key SHA256:6QQmYi4ppFS4/+zSZ5S4IU+4sa6rwvQ4PbhCtPEBekQ debug3: client_input_hostkeys: received ECDSA key SHA256:T9FYDEHELhVkulEKKwge5aVhVTbqCW0MIRwAfpARs/E debug3: client_input_hostkeys: received ED25519 key SHA256:mIlxA9k46MmM6qdJOdMnAQpzGxF4WIVVL+fj+wZbw0g debug1: client_input_hostkeys: searching /home/andy/.ssh/known_hosts for codeberg.org / (none) debug3: hostkeys_foreach: reading file "/home/andy/.ssh/known_hosts" debug3: hostkeys_find: found ssh-ed25519 key at /home/andy/.ssh/known_hosts:15 debug3: hostkeys_find: found ssh-rsa key at /home/andy/.ssh/known_hosts:16 debug3: hostkeys_find: found ecdsa-sha2-nistp256 key at /home/andy/.ssh/known_hosts:17 debug1: client_input_hostkeys: searching /home/andy/.ssh/known_hosts2 for codeberg.org / (none) debug1: client_input_hostkeys: hostkeys file /home/andy/.ssh/known_hosts2 does not exist debug3: client_input_hostkeys: 3 server keys: 0 new, 3 retained, 0 incomplete match. 0 to remove debug1: client_input_hostkeys: no new or deprecated keys from server debug3: client_repledge: enter debug3: receive packet: type 4 debug1: Remote: /home/git/.ssh/authorized_keys:39538: key options: command debug3: receive packet: type 4 debug1: Remote: /home/git/.ssh/authorized_keys:39538: key options: command debug3: receive packet: type 91 debug2: channel_input_open_confirmation: channel 0: callback start debug2: fd 3 setting TCP_NODELAY debug3: set_sock_tos: set socket 3 IP_TOS 0x48 debug2: client_session2_setup: id 0 debug2: channel 0: request pty-req confirm 1 debug3: send packet: type 98 debug2: channel 0: request shell confirm 1 debug3: send packet: type 98 debug3: client_repledge: enter debug1: pledge: fork debug2: channel_input_open_confirmation: channel 0: callback done debug2: channel 0: open confirm rwindow 0 rmax 32768 debug3: receive packet: type 100 debug2: channel_input_status_confirm: type 100 id 0 PTY allocation request failed on channel 0 debug2: channel 0: rcvd adjust 2097152 debug3: receive packet: type 99 debug2: channel_input_status_confirm: type 99 id 0 debug2: shell request accepted on channel 0 Hi there, andrewrk! You've successfully authenticated with the key named andy@bark, but Forgejo does not provide shell access. If this is unexpected, please log in with password and setup Forgejo under another user. debug3: receive packet: type 96 debug2: channel 0: rcvd eof debug2: channel 0: output open -> drain debug2: channel 0: obuf empty debug2: chan_shutdown_write: channel 0: (i0 o1 sock -1 wfd 5 efd 6 [write]) debug2: channel 0: output drain -> closed debug3: receive packet: type 98 debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug3: receive packet: type 98 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug2: channel 0: rcvd eow debug2: chan_shutdown_read: channel 0: (i0 o3 sock -1 wfd 4 efd 6 [write]) debug2: channel 0: input open -> closed debug3: receive packet: type 97 debug2: channel 0: rcvd close debug3: channel 0: will not send data after close debug2: channel 0: almost dead debug2: channel 0: gc: notify user debug2: channel 0: gc: user detached debug2: channel 0: send_close2 debug2: channel 0: send close for remote id 0 debug3: send packet: type 97 debug2: channel 0: is dead debug2: channel 0: garbage collecting debug1: channel 0: free: client-session, nchannels 1 debug3: channel 0: status: The following connections are open: #0 client-session (t4 [session] r0 nm0 i3/0 o3/0 e[write]/0 fd -1/-1/6 sock -1 cc -1 nc0 io 0x00/0x00) Connection to codeberg.org closed. debug3: send packet: type 1 Transferred: sent 3860, received 4040 bytes, in 0.5 seconds Bytes per second: sent 7809.2, received 8173.3 debug1: Exit status 0 ________________________________________________________ Executed in 2.24 secs fish external usr time 9.41 millis 1.47 millis 7.93 millis sys time 2.39 millis 0.12 millis 2.27 millis ``` Still seems like the protocol has more round trips than necessary, but maybe that's just a limitation of ssh. I mean if we divide that by the ping that's 15, ~8 round trips. Surely, two computers can negotiate a secure connection with fewer than 8 round trips...
Sign in to join this conversation.
No Branch/Tag specified
main
No results found.
Labels
Clear labels
accessibility

Reduces accessibility and is thus a "bug" for certain user groups on Codeberg.
bug

Something is not working the way it should. Does not concern outages.
bug
infrastructure

Errors evidently caused by infrastructure malfunctions or outages
Codeberg

This issue involves Codeberg's downstream modifications and settings and/or Codeberg's structures.
contributions welcome

Please join the discussion and consider contributing a PR!
docs

No bug, but an improvement to the docs or UI description will help
duplicate

This issue or pull request already exists
enhancement

New feature
infrastructure

Involves changes to the server setups, use `bug/infrastructure` for infrastructure-related user errors.
legal

An issue directly involving legal compliance
licence / ToS

involving questions about the ToS, especially licencing compliance
please chill
we are volunteers

Please consider editing your posts and remember that there is a human on the other side. We get that you are frustrated, but it's harder for us to help you this way.
public relations

Things related to Codeberg's external communication
question

More information is needed
question
user support

This issue contains a clearly stated problem. However, it is not clear whether we have to fix anything on Codeberg's end, but we're helping them fix it and/or find the cause.
s/Forgejo

Related to Forgejo. Please also check Forgejo's issue tracker.
s/Forgejo/migration

Migration related issues in Forgejo
s/Pages

Issues related to the Codeberg Pages feature
s/Weblate

Issue is related to the Weblate instance at https://translate.codeberg.org
s/Woodpecker

Woodpecker CI related issue
security

involves improvements to the sites security
service

Add a new service to the Codeberg ecosystem (instead of implementing into Gitea)
upstream

An open issue or pull request to an upstream repository to fix this issue (partially or completely) exists (i.e. Gitea, Forgejo, etc.)
wontfix

Codeberg's current set of contributors are not planning to spend time on delegating this issue.
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Codeberg/Community#2312
Reference in a new issue
Codeberg/Community
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?