30
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HTTP Proxy経由でSSH接続する方法(Mac)

Last updated at Posted at 2018-01-30

質問されたのでまとめておく。

WindowsではPuttyやTeraTermなどを使ってHTTP Proxy経由でのSSH構成をGUIから設定できる。一方、MacではせっかくTerminalがあるのでsshコマンドのオプションで同様のことを実現したい。
ネット上ではconnect-proxyなどを使う方法などが紹介されているが、Macには(多分)ncコマンドが初期導入されているので、コンポーネントの追加導入なしにHTTP Proxy超えが可能。

基本文例
$ ssh -o ProxyCommand='nc -X connect -x <ProxyServer>:<Proxy Port> %h %p' <ユーザー>@<接続先IP>
秘密鍵およびポート番号を指定した際の接続例
# 秘密鍵ファイル: ~/.ssh/id_rsa_xxx
# プロキシサーバー:proxy.yyy.com
# プロキシサーバーのポート番号: 8080
# SSH接続先サーバーのユーザー: root 
# SSH接続先サーバーのIPアドレス: zzz.zzz.zzz.zzz
# SSH接続先サーバーのポート番号(デフォルトは22): 20022
$ ssh -i ~/.ssh/id_rsa_xxx -o ProxyCommand='nc -X connect -x proxy.yyy.com:8080 %h %p' root@zzz.zzz.zzz.zzz -p 20022
.ssh/configに記述した際の接続例
$ cat .ssh/config
# 秘密鍵ファイル: ~/.ssh/id_rsa_xxx
# プロキシサーバー:proxy.yyy.com
# プロキシサーバーのポート番号: 8080
# SSH接続先サーバーのユーザー: root 
# SSH接続先サーバーのIPアドレス: zzz.zzz.zzz.zzz
# SSH接続先サーバーのポート番号(デフォルトは22): 20022
Host osc01
    Hostname zzz.zzz.zzz.zzz
    User root
    Port 20022
    ProxyCommand nc -X connect -x proxy.yyy.com:8080 %h %p
    IdentityFile ~/.ssh/id_rsa_xxx

$ ssh osc01
30
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?