安装openssh-server
将使您能够通过Internet或从家里的设备安全地访问整个驱动器,只要它们支持sFTP。如果出于某些原因没有这样做,则可以在另一个答案中详细介绍一下Samba共享。这是我设置我的方法:
安装OpenSSH服务器:apt-get install openssh-server
打开端口22:我使用了多种方法gufw
(您可能需要安装它,我不确定它是否是默认值)。如果您想稍后将其打开以连接到Internet,则需要将端口22从路由器转发到服务器。通常,您可以通过路由器上的Web界面执行此操作。如果可以的话,也在那里为服务器分配一个静态IP(即,关闭服务器的DHCP)。
编辑ssh配置设置:备份并打开文件,/etc/ssh/sshd_config
然后更改/添加设置
PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary
为了获得最大的安全性,您可以按照以下步骤设置基于密钥的登录名:https://help.ubuntu.com/community/SSH/OpenSSH/Keys,但是如果您设置了一个非常强壮的密码并将其保存在该密码上就足够了每个客户端计算机。
您可能想为每个连接的人创建一个用户。如果这样做,则可以将它们全部添加到同一组(例如ssh_users),并允许该组中的每个人都使用进行连接AllowGroups ssh_users
。(有关更多信息,请参见http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access)
检查设置是否有效:您可以使用以下命令检查配置文件中是否存在语法错误:sshd –t
从服务器连接到自身:此时,您应该可以通过终端ssh localhost
(假设您已经拥有openssh-client
)从自身连接到计算机。然后从网络上的另一台计算机上尝试ssh <ip-address>
。
如果服务器的ip在您的家庭网络上是静态的,则可以/etc/hosts
在通过该行连接到它的Ubuntu计算机上将条目添加到
server_ip_address theserver
这意味着您可以简单地与ssh theserver
或任何您称呼的人建立联系。您可以在Windows上执行相同的操作(请参见此处:http : //helpdeskgeek.com/windows-7/windows-7-hosts-file/)
通过sFTP连接:如果您可以从终端中家庭网络中的另一台计算机连接到服务器,则可以通过sFTP连接到服务器,并安全地浏览和传输文件。就个人而言,我设置了键盘快捷键,以便可以使用键盘命令挂载/卸载服务器(在Ubuntu上):
gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress
(该-u
标志是umount命令)
把那些进入“命令:”盒子系统设置>键盘>快捷方式>自定义快捷键> +(新建快捷方式),给它一个名称,点击应用,然后点击右侧栏中,输入一个键组合(CTRL+SHFT++
和CTRL+SHFT+-
分别似乎是合乎逻辑) 。
您可以将IP地址替换为中的IP地址/etc/hosts
。这会将服务器安装为Nautilus中的驱动器,您可以像浏览本地计算机上的文件夹一样浏览这些文件夹。在Windows中,您可以使用FTP软件(Filezilla等)进行连接。我没有尝试过,但是我敢肯定Windows Explorer本身中也可能集成了sFTP。
基于密钥的登录的另一个好处是,每次连接时都不会提示您输入密码(除非您设置了一个保护密钥的密码)。在使用密码登录后(在将其向外界开放之前),您可能希望对其进行研究。
从外部连接:最后一步是查看您是否可以从互联网(即隔壁或其他任何地方)进行连接。如果您的房屋没有静态IP地址,那么跟上您的IP地址可能会很棘手。我个人使用动态dns服务(http://afraid.org/是免费的),但是您可能会找到其他更好的解决方案。然后,您可以使用指向您的家庭网络的动态网址替换上述安装命令中的ipaddress。
最后一个安全提示是,如果要执行此操作(/var/log/auth.log
),请在SSH日志上保留选项卡,以确保未发生任何不良情况。如果找到的话,Fail2Ban是一种解决方案(http://www.fail2ban.org/wiki/index.php/Main_Page和https://help.ubuntu.com/community/Fail2ban)。为了最大程度地降低风险,您可以更改端口SSHD侦听非标准端口(如500),并更改路由器和服务器防火墙上的相应端口转发规则(为什么:https : //serverfault.com/questions/189282 / why-change-default-ssh-port),尽管我还没有亲自测试过gvfs-mount
。