Last active
June 14, 2024 19:07
-
-
Save surjikal/aaf0729af90bdc83064b to your computer and use it in GitHub Desktop.
Compile OpenSSH Portable on OSX / MacOS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
brew install openssl | |
git clone git://anongit.mindrot.org/openssh.git | |
cd openssh | |
# The './configure' script does not exist, so we have to build it | |
autoreconf | |
mkdir dist | |
# Get the dir of the openssl install... | |
BREW_OPENSSL_DIR="$(brew --prefix openssl)" | |
# If you can't get the command above to work... try one of these: | |
# BREW_OPENSSL_DIR=/opt/homebrew/opt/openssl | |
# BREW_OPENSSL_DIR=/usr/local/opt/openssl | |
./configure \ | |
--prefix="$(pwd)/dist" \ | |
LDFLAGS="-L${BREW_OPENSSL_DIR}/lib" \ | |
CPPFLAGS="-I${BREW_OPENSSL_DIR}/include" | |
make |
I needed a fresh install and brew was not working, nor manual normal building.
This is great, thanks!
FYI for people on M1 Macs, homebrew installs in /opt/homebrew
, so the configure command is slightly different:
./configure \
--prefix="$(pwd)/dist" \
LDFLAGS="-L/opt/homebrew/opt/openssl/lib" \
CPPFLAGS="-I/opt/homebrew/opt/openssl/include"
@oxtoacart cool! Your comment gave me an idea... thank you!
gist updated to get the install location from brew
, instead of hardcoding the path.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@surjikal, im my case, I'm currently testing macOS Monterey beta. It ships a newer version of OpenSSH, 8.6. OpenSSH supports comments at the end of config lines since version 8.5, but this broke the parsing of
ProxyCommand
. Fortunately, this was reported (https://bugzilla.mindrot.org/show_bug.cgi?id=3288) and fixed. Recompiling OpenSSH from latest source code is my workaround, until version 8.7 of OpenSSH is released - at that point I'll simply be able to install it via Brew.