🛠️
古い環境からgithubにアクセスする(バッドノウハウ)
githubで古い暗号化方式が使えなくなったりして、塩漬けの古い環境で git pull
とかができなくなったんだけど、今すぐにどうしても github に繋がなければならない場合の応急処置。
一応これでアクセスできるけど、そもそもそんな古い環境は捨ててしまって最新の環境に移るべきなので、これはあくまで一時的な応急処置のバッドノウハウ。
応急処置と言っても、ちょちょっとインチキとかはできないし、やるべきでないので最新の OpenSSL
と OpenSSH
をソースからビルドします。
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
して確認。
正常に終了したら終わり。
でも早く新しい環境に移りましょう。
Discussion