投稿日:
なんか突如としてGitHubにHTTP経由で繋ぐのが面倒くさくなったのでSSHで繋げるようにしたときのメモ。
確認環境
- Ubuntu 24.04.3 LTS
- RLogin 2.30.8
やり方
SSH鍵の作成
- RLoginを開き、サーバーに接続→新規→サーバー→プロトコルを開く
- 認証キーボタンを押しED25519辺りで適当な名前で鍵を作成する
- 適当な場所に秘密鍵をエクスポートする
- 鍵を右クリックし、公開鍵をコピーして、どっかにメモっておく
GitHubへの登録
- GitHubを開き、アカウント設定に移動、SSH and GPG keysを開く
- SSH keys→New SSH Keyを開く
- Titleに適当な名前を設定
- Key typeはAuthentication Keyにする
- RLoginで作った
- コピーした公開鍵をKeyに貼り付ける
- Add SSH keyボタンを押す
SSH Configを書く
- 作成したSSH鍵を
~/.ssh/github.sec
とか適当なパスに置く chmod 600 ~/.ssh/github.sec
とかして自分しか見れないようにする~/.ssh/config
を開き、次の内容を記述Host github.com User <ユーザーID> Hostname github.com IdentityFile ~/.ssh/github.sec
既存のリポジトリをSSH対応にする
ここではoriginがリモートであるとして進める。
git remote -v
でリモートリポジトリの状況を確認git remote remove origin
でHTTP通信になってるのを消すgit remote add origin git@github.com:Hoge/piyo.git
でSSH通信に書き換えるgit fetch
が通ればOK
投稿日:
古のSFTPマウントツールが軒並み死んでいるためRcloneを使う。WindowsからLinux上に構築したストレージに繋ぐときに便利
前提条件
- 接続先のSSH環境がある
- 接続先のSSH環境の公開鍵認証に利用する秘密鍵にパスフレーズが付いている
確認環境
Env | Ver |
---|---|
OS | Windows 11 Pro (22621.3155) |
Rclone | 1.65.2 |
手順
- Rcloneをインストールする
choco install rclone
- WinFspもインストールする。これがないとマウントできない
- Rcloneの接続設定を作成する。設定ウィザードは少々複雑なのでよく読むこと
rclone config
- 設定が完了したら、以下のコマンドでマウントできる
# 例:rclone mount hoge:/home/hoge Z: --network-mode rclone mount <user name>:<mount path> <drive letter>: --network-mode
トラブルシューティング
マウント時のターミナルウィンドウが邪魔
公式の解説によると、Windowsではバックグラウンドで動かすことができない
Use the --daemon flag to force background mode. On Windows you can run mount in foreground only, the flag is ignored.
どうしてもバックグラウンドで動かしたい場合はVDeskを使って適当な仮想デスクトップで起動するか、タスクトレイ系のユーティリティを使ってタスクトレイに突っ込んだりするといいだろう
参考
投稿日:
基本のフォーマット
複数のホストを記述でき ssh <Host>
で接続できる
Host hoge
User foo
Hostname git1.example.com
IdentityFile ~/.ssh/config/id_ed25519_foo
Port 22222
Host piyo
User bar
Hostname git2.example.com
IdentityFile ~/.ssh/config/id_ed25519_bar
Port 20202
設定項目
項目 | 意味合い |
---|---|
Host | sshコマンドで指定する接続先名。Gitで利用する場合はHostnameと合わせる必要がある |
User | ログインするユーザー名 |
Hostname | 接続先のホスト名 |
IdentityFile | 秘密鍵のパス |
Port | 接続先のポート |
ForwardAgent | プロキシサーバー側の設定。クライアントからの接続を中継するかどうか |
ProxyCommand | 踏み台サーバーへの接続コマンド |
トラブルシューティング
GitHubにSSHで繋ぎに行ったときにError: Permission denied (publickey)と出る
GitHubへのSSH接続はUser
がgit
でなければならない
そういえばgit
コマンドはユーザー名を直に指定しているのかSSH Configでgit
以外を指定していても通った気がする
GitHubにSSH接続しているときにgit clone
やgit push
がフリーズする
Host
の値がHostname
と異なるとフリーズすることがある