リモートサーバーから自分のPCにログインする方法


9

実験の目的で、同じドメイン、つまり大学のネットワークにあるリモートPCから自分のPCにログインする必要があります。この場合、SSHを使用してリモートログインするにはどうすればよいですか?

例として、私はUniversity Xの2台のマシンにアカウントを持っています。me@machine_a.cs.x.caそしてme@machine_b.cs.x.ca、私の個人のラップトップアカウントはnawshad@ubuntuです。提供する必要がある追加情報は何ですか?

回答:


11

デイブの答えが指摘するように、それは単に発行するのと同じくらい簡単かもしれませんssh nawshad@ipaddress

ただし、PCがインターネットから直接アクセスできない可能性があります。つまり、ある種のルーターの後ろにPCが置かれている可能性があります。

1つのオプションは、ルーターにPCへのトラフィックを通過させることです。これを行う方法は、ルーターによって異なります。このオプションは、ルーターへの管理アクセス権があり、他のルーターが関与していない場合にのみ機能します。

別のオプションは、リバースSSHトンネルを作成することです。つまり、PCから大学のマシンの1つ(または両方)にログインし、同時に大学のマシンからPCのSSHポートへのトンネルを作成します。大学にいるときは、その接続をオンのままにします。これにより、SSHセッションによって作成されたトンネルを使用してPCに再度ログインできます。

このプロセスはhttp://www.vdomck.org/2005/11/reversing-ssh-connection.htmlで説明されています。リンクは申し訳ありませんが、そこからすべての情報をここにコピーしたくありません。

原則として、PCから発行するコマンドは(me@machine_b.cs.x.caから接続したい場合)

ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca

次に、大学にいるときに、次のコマンドを使用して自宅のPCに接続できます。

ssh -p 10000 nawshad@localhost

10000両方のコマンドのを別の値に変更できます。1024より大きいことを確認してください。

注:このトンネルが有効な間、にアクセスmachine_b.cs.x.caできる人は誰でもシステムにログインしようとすることができます。正しいパスワードを持っていることを確認してください。

トンネルをシャットダウンするには、対応するsshプロセスを、たとえば

pkill -f 'ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca'

1

はい。これは、SSHを使用する場合によく当てはまります。

個人のマシンが大学でDNSに登録されていない限り(これはありそうもありません)、ipaddressを使用してこれを行うのが最善です。

まず、パーソナルマシンでSSHが有効になっていることを確認します。を確認しps -ef | grep sshd | grep -v grep、インストールされていない場合はsshdをインストールして起動します。

実行中にIPアドレスを介してマシンにSSHで接続しようとすると、たとえばssh nawshad@0.0.0.0パスワードの入力を求められます。

幸運を!


ps -efを実行したとき| grep ssh、私は次を見つけました:nawshad 2898 2512 0 23:18 pts / 0 00:00:00 grep --color = auto sshd私のラップトップでsshを有効にしていないということですか?
Nawshad Farruque 2012

いいえ、それはgrepクエリ自体です。マシンでSSHが実行されていません。それを除外するようにクエリを更新します
daveh

1
これは、PCが実際にインターネットに直接接続されている場合にのみ機能します。
ダニエルカルマン2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.