🛠️

古い環境からgithubにアクセスする(バッドノウハウ)

2022/03/24に公開

githubで古い暗号化方式が使えなくなったりして、塩漬けの古い環境で git pull とかができなくなったんだけど、今すぐにどうしても github に繋がなければならない場合の応急処置。
一応これでアクセスできるけど、そもそもそんな古い環境は捨ててしまって最新の環境に移るべきなので、これはあくまで一時的な応急処置のバッドノウハウ。

応急処置と言っても、ちょちょっとインチキとかはできないし、やるべきでないので最新の OpenSSLOpenSSH をソースからビルドします。

OpenSSLのインストール

OpenSSLのサイトから最新のソースをダウンロード。

$ wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz

解凍してソースディレクトリに移動

$ tar xvzf openssl-1.1.1n.tar.gz
$ cd cd openssl-1.1.1n

ビルド。今回は /usr/local/ssl 以下にインストールする。

$ ./config -fPIC shared --prefix=/usr/local/ssl
$ make

インストール

$ sudo make install

/etc/ld.so.conf を編集。
1行目の /usr/local/ssl/lib を追加して保存。

/etc/ld.so.conf
/usr/local/ssl/lib
include /etc/ld.so.conf.d/*.conf

反映する

$ sudo ldconfig

OpenSSHのインストール

OpenSSHのアーカイブから最新のOpenSSHをダウンロード(今回は 8.9p1 だった)。

$ wget https://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz

解凍してディレクトリに移動

$ tar xvzf openssh-8.9p1.tar.gz
$ cd openssh-8.9p1

コンフィギア。インストール先とかは適宜変更してください。

./configure --with-zlib=/usr/local --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --with-ssl-engine --with-pam --with-md5-passwords --bindir=/usr/local/bin --sbindir=/usr/local/sbin --libexecdir=/usr/local/libexec --sysconfdir=/usr/local/etc/ssh

ビルドしてインストール

$ make
$ sudo make install

ここまで終わったら、 /usr/local/bin 以下に ssh が存在することを確認。

パスの設定

bashを使用している場合は以下を実行。bash以外を使っている場合は適宜変更。

$ echo "export PATH=/usr/local/bin:\${PATH}" >> ~/.bashrc

一度ログアウトしてログインし直す。

gitのテスト

目的のレポジトリで git pull するか、github上の適当なレポジトリを clone して確認。
正常に終了したら終わり。

でも早く新しい環境に移りましょう。

参考

OpenSSL(1.1.x)をインストールする(ソースからビルド)for RockyLinux 8.4

Discussion