Had this strange issue crop up today that I haven't experienced before. I execute ssh <remote ip> and ssh crashes with the following exception:

dyld: lazy symbol binding failed: Symbol not found: _timingsafe_bcmp
  Referenced from: /usr/local/bin/ssh
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _timingsafe_bcmp
  Referenced from: /usr/local/bin/ssh
  Expected in: /usr/lib/libSystem.B.dylib

Abort trap: 6

I have run the command with the verbose flag and can see this is happening directly after the key exchange between the local machine and remote host.

Things I have tried:

  • Restarting terminal
  • Restarting machine
  • Removing all ssh programs in /usr/bin and replacing them with those of a colleagues mac
  • Booting to recovery mode and replacing libSystem.B.dylib with the one that ships with macOS
  • Installing openssh with homebrew
  • Removing openssh
  • Adding a PATH to /usr/bin

Note the same error appears on other commands such as scp.

up vote 1 down vote accepted

Assuming that you're (probably) using homebrew's ssh, I found this reported bug in the openssh formula, which apparently can be fixed by upgrading macOS to 10.12.3:

Right, that symbol wasn't in 10.12.0, […] You can fix it by building from source or by upgrading to 10.12.3.

  • This solved the problem, thanks @Asmus. – Jacob King Feb 14 '17 at 15:18

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.