私は2台のコンピューターを所有しています。1台は子供用、もう1台は子供用です。私は彼らのコンピューターにsshしてそれを制御できるようにしたい(シャットダウンするなど)が、これを行うための最良の方法に興味があります。私たちは両方とも同じ家にいて、同じインターネット接続を共有しています。
これを行う最良の方法は何でしょうか?調査から、私はリモートコンピューターにopenssh-serverをインストールすることを読みましたが、接続しようとしたときにホスト名に何を使用するか迷っています。通常、VPSの場合は外部IPですが、2人ともwifi接続を共有するため、ハードウェアIPになりますか? LANまたはインターネットを介して直接インターフェイスする必要がありますか?
実行:
avahi-browse -tl _workstation._tcp
ローカルネットワーク内のUbuntuワークステーションのリストを取得するには、次を実行して接続できます。
ssh <username>@<computer-name>.local
IPアドレスを使用して、子供のコンピューターにSSH接続できます。コンピューター名を使用する場合は、/ etc/hostsファイルを編集してコンピューター名を含めます。
192.168.1.104 dad
192.168.1.105 kids
Sshが自動的に解析する〜/ .ssh/configファイルを使用します。以下に例を示します。
Host *
ControlMaster auto
ControlPath /tmp/%r@%h:%p
KeepAlive yes
ServerAliveInterval 60
ServerAliveCountMax 10
ControlPersist 1h
Host server1
User user1
HostName server1-web.example.org
Host server2
User user2
HostName server2-db.example.org
Compression yes
IdentityFile /home/user/.ssh/different_key.pem
このファイルで任意の(クライアント側)変数を使用し、グローバルまたはサーバーごとに設定できることに注意してください。
Sshを実行する前に、sshクライアントとサーバーを確認します。これらのサービスがインストールされていない場合
Sudo apt-get install openssh-client
Sudo apt-get install openssh-server
すでにしている場合
ssh username@ipaddress
Enter connecting device login password.
例:
ssh [email protected]
[email protected]'s password:********
「許可が拒否されました。もう一度やり直してください」などのエラーが表示された場合。
ユーザー名とIPを2回確認してください。
LANが静的IPを使用している場合は、ローカルIPに直接sshできます。たとえば、ssh [email protected]
Ed Manetが answer で述べているように、両方のコンピューターでhostsファイルを編集できます。そうすれば、コンピューターのホスト名、つまりssh someuser@some_hostname
を使用してsshできます
ローカルDNSサーバーをセットアップして、LANのホストを解決できます。この方法では、オプション2のようにコンピューターのホスト名を使用してsshを実行できますが、Ubuntuのネットワーク設定でDNSサーバーを指定することにより、すべてのホストファイルを編集する必要がなくなります。
ローカルLAN IPアドレスを使用します。別の方法では、ログインできるように、インターネットに対して開いているポートが必要です。
また、ポートマッピング(ルーター上)が必要になります。 (ルーター上の)「パブリック」IPアドレスをターゲットとして使用すると、2台のPCのいずれかにnotが接続されます。
最も簡単な方法は、ルーター上の各IPアドレス(2台のコンピューター用)を永続的に割り当てることです。次に、そのIPアドレスに接続するだけです。
賢い(後で)取得したい場合は、サーバーをセットアップし、ローカルDNSサービスの使用を開始して、各デバイスに意味のある名前を割り当てます。 たった2台のPCで本当に面倒な価値はありません。
同じインターネット接続を共有している場合、同じWiFiルーターの背後にいる可能性が高くなります。したがって、あなたはあなたの子供のコンピューターに直接接続します:
ssh <IP-address>
または:
ssh <user-name>@<IP-address>
明らかに、子供のコンピューターに静的IPアドレスがある場合、これはよりうまく機能します。それ以外の場合は、常にIPが何であるかを確認する必要があります。ほとんどのルーターには、選択したデバイスに静的(常に同じ)IPを割り当てるオプションがあります。一部のルーターには、特定のデバイスにホスト名を割り当てるオプションもあります。同じネットワークアドレス内のどのデバイスでも、「kids」は同じことを意味します。/etc/hostsファイルでホスト名を割り当てると、ホスト名は、そのホストファイルがあるコンピューターのみに認識されます。また、子供のコンピューターが静的IPアドレスを持っていることを前提としています。
そのマシンでも子供用コンピューターに静的IPを設定できますが、ルーターでネットワーク設定を行うセットアップをアドバイスします。制御の一点-管理が簡単。不明な点がある場合は、コメントを残してください。回答を拡大します。
単に子供のマシンに割り当てコンピュート名を付けることができます。
それから単に、ssh MachineName
私はこれを使ったことはなく、頭の中で考えただけで共有した。
ホスト名の代わりにIPアドレスを使用するか、/etc/hosts
ファイルでカスタムホスト名を割り当てることができます。
子供のコンピューターでIPを取得するには、ネットワークメニューで「接続情報」またはを参照してください。コマンドラインでifconfig
を実行します(これらは子供のコンピューター)。
Wi-FiルーターはこれらのIPアドレスを割り当て、現在割り当てられているコンピューターの特定のIPアドレスを保持するように構成できるはずです。 (それ以外の場合、IPは時々変更される可能性があります)。