我有两台电脑,一台是我用的,一台是给孩子们用的。我希望能够通过 ssh 进入他们的计算机来控制它(比如关闭它等),但我很好奇做到这一点的最佳方法。我们都在同一所房子里,共享同一个互联网连接。
什么是最好的方法来做到这一点?从研究中,我读到在远程计算机上安装 openssh-server ,但在尝试连接时很难使用主机名。通常对于 VPS,它是外部 IP,但由于我们都共享一个 wifi 连接,它会是硬件 IP吗?我们应该通过 LAN 直接连接还是通过 Internet 连接?
Eri*_*lho 67
跑:
avahi-browse -tl _workstation._tcp
Run Code Online (Sandbox Code Playgroud)
要获取本地网络中的 Ubuntu 工作站列表,您可以通过运行以下命令连接到它们:
ssh <username>@<computer-name>.local
Run Code Online (Sandbox Code Playgroud)
Ed *_*net 17
您可以使用 IP 地址通过 ssh 连接到孩子的计算机。如果要使用计算机名称,请编辑 /etc/hosts 文件以包含计算机名称。
192.168.1.104 dad
192.168.1.105 kids
Run Code Online (Sandbox Code Playgroud)
PAC*_*PAC 11
在做之前ssh,检查 ssh 客户端和服务器。如果您没有这些服务,请使用以下命令安装它们:
sudo apt-get install openssh-client
sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)
如果您已经安装了它们,只需执行以下操作:
ssh username@ipaddress
Run Code Online (Sandbox Code Playgroud)
并输入连接设备的登录密码。
例子 :
ssh prem@192.168.1.145
prem@192.168.1.145's password:********
Run Code Online (Sandbox Code Playgroud)
如果您收到类似 : 的任何错误Permission denied, please try again.,请检查用户名和 IP 两次。
小智 8
我使用 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
Run Code Online (Sandbox Code Playgroud)
请注意,您可以在此文件中使用任何(客户端)变量,并在全局或每个服务器上设置它。
例如,只要您的 LAN 使用静态 IP,您就可以 ssh 直接连接到本地 IP
ssh someuser@192.168.1.2
您可以在两台计算机上编辑主机文件,正如 Ed Manet 在他的回答中提到的那样。这样你就可以使用计算机的主机名 ssh,即ssh someuser@some_hostname
您可以设置本地 DNS 服务器来解析 LAN 的主机。通过这种方式,您将能够像选项 2 中那样使用计算机的主机名 ssh 进行 ssh,但还有一个好处,即通过将您的 DNS 服务器指向 Ubuntu 的网络设置,可以避免编辑每个主机文件。
DNSMasq是相当不错的 DNS 服务器,易于设置。
另一种选择是BIND。
| 归档时间: |
|
| 查看次数: |
168144 次 |
| 最近记录: |