我正在尝试通过SSH将我的运行11.10的新笔记本与运行8.04的旧笔记本连接到我的路由器。
这个问题已经在ubuntuforums上得到了提问和回答,链接如下:
http://ubuntuforums.org/showthread.php?t=1648965
我认为在这里给出一个更明确的答案会很有帮助。注意:我需要先在我尝试连接的笔记本电脑上安装openssh-server,并使用firestarter打开防火墙中的SSH端口。
我正在尝试通过SSH将我的运行11.10的新笔记本与运行8.04的旧笔记本连接到我的路由器。
这个问题已经在ubuntuforums上得到了提问和回答,链接如下:
http://ubuntuforums.org/showthread.php?t=1648965
我认为在这里给出一个更明确的答案会很有帮助。ListenAddress 192.168.0.10
您还可以使用AllowUsers
AllowUsers you@192.168.0.0/16
Port 1234
如论坛帖子中所述,您可以使用TCP包装器。 TCP包装器使用两个文件,/etc/hosts.allow
和/etc/hosts.deny
编辑/etc/hosts.allow
并添加您的子网
sshd : 192.168.0.
/etc/hosts.deny
文件,并拒绝所有连接。ALL : ALL
最后,您可以为服务器设置防火墙。您可以使用iptables、ufw或gufw。
iptables
sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
ufw
sudo ufw allow from 192.168.0.0/16 to any port 22
ufw
有一个图形界面:gufw
ListenAddress
似乎是最简单和最优雅的解决方案。 - code_monkufw allow
在两个方向上都起作用吗?也就是说,允许本地网络连接的22号端口是否意味着非本地网络连接被阻止? - Ido_fAllowUsers shayan@192.168.1.80
看起来完全没有作用,所有访问都被阻止了。 - Shayan自从这个问题提出以来,现在可以使用OpenSSH 6.5/6.5p1 (2014)中引入的Match
关键字来简化处理:
在sshd配置文件中(在Debian和类似Ubuntu的派生版本中为/etc/ssh/sshd_config
)
# Disable all auth by default
PasswordAuthentication no
PubkeyAuthentication no
[.. then, at the end of the file ..]
# Allow auth from local network
Match Address 192.168.1.*
PubkeyAuthentication yes
# if you want, you can even restrict to a specified user
AllowUsers stephan
提示:最好将自定义规则放在/etc/ssh/sshd_config.d
文件夹中的文件上。通常是/etc/ssh/sshd_config.d/local_network_only.conf
。这样,在升级到新版本的ssh-server软件包并更改sshd配置文件时可以避免冲突。
有关更多详细信息,请参阅man sshd_config
ssh other_computer_username@other_computer_ip
这个命令会要求输入密码,该密码是另一台计算机的密码(用于特定用户名)。您刚刚登录到了另一台计算机的shell。请将此终端视为您计算机的shell终端。您可以使用shell在其他计算机上进行与在您自己的计算机上相同的操作。
文件浏览器:您需要安装openssh-server。
sudo apt-get install openssh-server