- 投稿日:
古の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
と異なるとフリーズすることがある
関連記事
- 投稿日:
例えばGitHubのSSHキーで使われているFingerprint(指紋)に対応する公開鍵を調べる時に使えるやつです
以下の書式で公開鍵を確認するとFingerprintが取得できるので確認できる
ssh-keygen -lf ~/.ssh/id_ed25519.pub
- 投稿日:
%HOMEPATH%.ssh\config
に以下のように設定すると踏み台サーバーを経由したSSH接続が可能- 設定は踏み台には証明書認証があるが、宛先にはないケースを想定
ssh target-host.dev
とすると踏み台経由でアクセス可能ProxyCommand
ではssh.exe
をフルパスで記述する必要がある
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host proxy.ssh-host.dev
HostName proxy.ssh-host.dev
User foo
IdentityFile C:\Users\user-name\.ssh\id_rsa
ForwardAgent yes
Host target-host.dev
Hostname target-host.dev
User bar
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -l %r -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null proxy.ssh-host.dev -W %h:%p