お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
投稿日:
OS::Windowsその他::SSH

古のSFTPマウントツールが軒並み死んでいるためRcloneを使う。WindowsからLinux上に構築したストレージに繋ぐときに便利

前提条件

  • 接続先のSSH環境がある
  • 接続先のSSH環境の公開鍵認証に利用する秘密鍵にパスフレーズが付いている

確認環境

Env Ver
OS Windows 11 Pro (22621.3155)
Rclone 1.65.2

手順

  1. Rcloneをインストールする
    choco install rclone
    
  2. WinFspもインストールする。これがないとマウントできない
  3. Rcloneの接続設定を作成する。設定ウィザードは少々複雑なのでよく読むこと
    rclone config
    
  4. 設定が完了したら、以下のコマンドでマウントできる
    # 例: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

基本のフォーマット

複数のホストを記述でき 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接続はUsergitでなければならない

そういえばgitコマンドはユーザー名を直に指定しているのかSSH Configでgit以外を指定していても通った気がする

GitHubにSSH接続しているときにgit clonegit pushがフリーズする

Hostの値がHostnameと異なるとフリーズすることがある

関連記事

投稿日:
OS::Windowsその他::SSH
  • %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