Ste*_*e B 7 server ssh vpn apache2
我想构建一个将持续连接到互联网的 Ubuntu 服务器。我只拥有一个 IP 地址。服务器的主要用途是作为一个源代码控制器(可能是 git 或 svn... 还没有选择),但也有一些偶尔的其他用途(与家人或客户共享文件、个人备份、Web 应用程序的主机我可以写,等等。我也希望能够随时访问计算机来管理它,即使在一些只允许 http 或 https 的客户代理后面
实现这一目标的标准步骤是什么?
提前致谢 ;)
Lek*_*eyn 10
正确设置 OpenSSH 是安全的,即使在标准端口上也是如此。将它从标准端口移开可以避免您的日志文件被未经授权的登录尝试填满。更多细节在最后。
如果您无法控制应该连接到您的服务器的计算机,那么访问您的服务器是非常危险的(我认为这就是您需要使用浏览器插件的原因)
OpenVPN 可以设置为与 HTTP/HTTPS 服务器共享 TCP 端口,从其手册页:
--port-share host port
When run in TCP server mode, share the OpenVPN port with another
application, such as an HTTPS server.
If OpenVPN senses a connection to its port which is using a non-OpenVPN
protocol, it will proxy the connection to the server at host:port.
Currently only designed to work with HTTP/HTTPS, though it would
be theoretically possible to extend to other protocols such as ssh.
Run Code Online (Sandbox Code Playgroud)
由于其开销(TCP 3 次握手),不建议将 OpenVPN 与 TCP 连接一起使用。如果你别无选择,你可以试一试。
使用 OpenVPN,您可以避免对您施加的任何端口限制并保护连接。请参阅如何设置 OpenVPN 以便我可以从不安全的热点安全地使用互联网?有关设置 OpenVPN 的指南。
除非应用程序支持它(如 OpenVPN),否则您不能共享端口,所以我必须让您失望。
不限制连接尝试的基于密码的身份验证是自找麻烦。因此,最好使用基于密钥的身份验证并完全禁用基于密码的身份验证。
安装openssh-server 通过跑步
sudo apt-get install openssh-server
通过编辑配置文件禁用基于密码的身份验证/etc/ssh/sshd_config。要开始编辑,请运行sudo nano /etc/ssh/sshd_config. 找到该行#PasswordAuthentication yes并将其更改为PasswordAuthentication no. 默认情况下,SSH 侦听端口 22。如果要更改它,出于安全原因,请使用 1024 以下的端口。(用 更改行Port 22)
为了提高安全性,您可以配置允许登录的用户列表。添加一行:
AllowUsers someuser
Run Code Online (Sandbox Code Playgroud)
替换someuser为允许登录的账号的用户名。多个用户名之间用空格隔开。
使用命令在您的计算机上生成一个密钥ssh-keygen -t rsa。输入您想要的任何值并选择一个安全的密码。
将~/.ssh/id_rsa.pub文件的内容复制到/home/someuser/.ssh/authorized_keys服务器上的文件。someuser是应该允许登录的用户。(应该复制一行,永远不要复制以-----BEGIN RSA PRIVATE KEY
重新加载 SSH 服务器的配置:
sudo reload ssh
Run Code Online (Sandbox Code Playgroud)
如果您通过 SSH 远程访问您的服务器,请确认您可以建立新的 SSH 连接以避免将自己锁定。
| 归档时间: |
|
| 查看次数: |
11265 次 |
| 最近记录: |