回答:
優れた企業ファイアウォールは、ポートに関係なくトラフィックを検査するため、ポートを変更しても機能しない場合があります。
あなたは、サーバーを管理している、そしてまだそれを試してみたい場合は、ポート80にsshdのポートを変更することができます警告します(サーバー上の)ポート80上で実行されている何かを持っている場合、これは動作しませんし、おそらく完全にあなたを意味しますサーバーへのSSHアクセスを失います!
編集/etc/ssh/sshd_config
してに変更Port
する必要があります80
。次に実行する
sudo restart ssh
そして接続します:
ssh user@host -p80
bzrパスは次のようになります。 bzr+ssh://host:80/path/
別の方法は、WebDavを使用することです。これはすべてポート80で発生するため、ファイアウォールの問題を完全に回避する必要がありますが、Apacheを実行していくつかのことをセットアップする必要があります。
VPNはオプションかもしれませんが、ssh
ロックアウトされている場合、それも除外されると思います。
ネットワーク管理者に一言伝えたいだけかもしれません。あなたは何かをする必要があり、彼らはあなたを止めています。ブロックする理由がある場合、ssh
それをかなり否定的に回避しようとする極端な試みが表示される可能性があります...
要するに、彼らと話をする方が安全かもしれません。
Port
、/etc/ssh/sshd_config
ファイルの各ポートに1行ずつ2 行を持たせることで、ポート22と80の両方にリッスンさせることができます。
ファイアウォールで許可されている場合、任意のポートに対してsshを実行できますが、そのためにはsshサーバーがそのポートでリッスンしている必要があります。ポート80は、ファイアウォールを備えたほとんどの場所でそのポート上のトラフィックを分析し、HTTP以外のすべてをブロックするため、機能しそうにありません。ただし、通常はHTTPSポートであるポート443は、多くの場合機能します。これは、SSHとHTTPSがフィルタリングソフトウェアで互いに似ているため、SSHセッションがHTTPSセッションのように見えるためです。(HTTPSとSSHを区別することは可能であるため、ファイアウォールが十分に洗練されている場合、これは機能しません。)
サーバーを制御できる場合は、22(通常のsshポート)に加えてポート443でリッスンするようにします。次のポートを構成できます。/etc/ssh/sshd_config
行を追加します
Port 443
それに加えて、Port 22
すでにそこにあるはずです。これは、sshサーバーがHTTPSサーバーでもないことを前提としていることに注意してください。その場合は、ファイアウォールで使用できる別のポートを見つけるか、別のsshサーバーを見つける必要があります(以下の転送を参照)。
WebブラウザでWebプロキシを設定する必要がない場合は、直接接続してみてください:
ssh -p 443 myserver.example.com
それが機能する場合、エイリアスをエイリアスで定義します~/.ssh/config
:
Host myserver
HostName myserver.example.com
Port 443
WebブラウザーでWebプロキシを設定する必要がある場合は、sshにプロキシを経由するように指示します。コルク栓抜きを取り付けます。で、このようなエイリアスを定義します~/.ssh/config
。ここhttp://proxy.acme.com:3128/
で、外部へのHTTPSに使用するプロキシを指定します(適切なホスト名とポートに置き換えます)。
Host myserver
HostName myserver.example.com
Port 443
ProxyCommand /usr/bin/corkscrew proxy.acme.com 3128 %h %p
上記の手法のいずれかを使用して外部のマシンにアクセスできても、目的のマシンにはアクセスできない場合は、それを使用して接続を転送します。呼び出されたマシンにsshできmygateway
、SSHサーバーに到達したい場合mytarget
、netcat-openbsdをインストールしますmygateway
(または、Ubuntuを実行していない場合は、nc
コマンドがあることを確認します)。これをあなたのに入れてください~/.ssh/config
:
Host mytarget
ProxyCommand ssh mygateway nc %h %p
接続したいホストがすでにApacheを実行しており、ポート443でリッスンしており、そのホストを制御できる場合、SSH接続を受け入れて転送するようにこのApacheをセットアップできます。HTTP(S)を介したSSHのトンネリングを参照してください。
ここで洗練されたソリューションを読んだばかりです。
http://benctechnicalblog.blogspot.hu/2011/03/ssh-over-connect-over-port-80.html
ホームサーバーがポート80でWebサーバーを実行している場合でも、ポート80でSSHホームを使用できます。
ホームサーバーがApacheを実行していると仮定します。このアイデアには、サーバーでmod_proxyを有効にしてから、localhost(proxy.conf)への接続に制限することが含まれます。
<IfModule mod_proxy.c>
ProxyRequests On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Deny from all
</Proxy>
<Proxy localhost>
Allow from all
</Proxy>
AllowCONNECT 22
ProxyVia On
</IfModule>
これで、localhostへのHTTP接続要求を行うことができ、ウェブサーバーがトンネルを確立します。すべてのトラフィックがプロキシを通過することを確認するだけです。
ssh -o 'ProxyCommand nc -X connect -x myhost.example.com:80 localhost 22' myhost.example.com
SSHへのlocalhost接続が特権を持たないことを確認してください(他人の侵入を防ぐため)
これは、ポート80のみを許可するルーターの背後にいる場合に機能します。
プロキシの背後にいる場合(したがって、Webを取得するにはブラウザにプロキシを設定する必要があります)、まず自分のホストへのトンネルを確立し、次にこのトンネル内で別のCONNECT要求を発行してホストに到達する必要があります。これはより洗練されており、これには2つのnetcatを使用する必要があります。
すべてが可能ですが、あなた自身のリスクのために...
更新:
または、単に、ブラウザを介してSSHを提供するWebアプリケーションを使用するだけです。http://en.wikipedia.org/wiki/Web-based_SSH
サーバーを制御してSSHポートをポート80に変更できない場合、またはファイアウォールがポート80を介したそのようなデータの転送をブロックしているためにポート80でSSHを実行できない場合は、TORを試すことができます。
TORは巨大なネットワークです。お使いのコンピューターは、SSHサーバーに到達するまで、世界のどこかにある別のコンピューターに接続します。これはすべてファイアウォールに対応しており、ポート443で発生します(会社はこれをブロックしませんが、そうではありません。文字通り巨大なプロキシまたはVPNであり、暗号化されています。これにより、任意のポートの任意のホスト(ポート22のサーバーのSSH)にアクセスできます。
www.torproject.orgでオンラインでご覧ください。
申し訳ありませんが、悪魔の擁護者を演じなければなりません。
おそらくこれを行う理由があることを知っていますが、ネットワーク/ファイアウォール管理者が探している特定のポートを開けないのはなぜですか?セキュリティの観点から、web-inspectが何かを見逃す可能性がありますか?stdトラフィック用にポート80をバイパスするように構成されていて、あなたが危害を加えている場合。
ポイントツーポイントvpnがより安全なオプションである場合がある上記のいくつかの提案に同意します。繰り返しますが、セキュリティの観点から、セキュリティポリシーを本当にバイパスしている理由と、アクセスのためにdmzまたはバックボーンにサーバーを配置できない理由を知りたいと思います。私だけ。がんばろう。
man ssh
port:host:hostportを明らかにします。だからssh 80:server.com
やってみてください。