大部分的博客内容所说的安装好ssh服务后,terminal输入
ssh -p port_number clientname@server_ip
之后输入密码等等就可以登上别人的电脑
但是这是有一个前提的,就是这两台电脑要在同一个局域网下面。
如果很远呢?
远到不在同一个网下面怎么办?
(对于类似于gnome的窗口方案有效。)
服务端:
1.服务器和客户端都需安装openssh-server、openssh-client(client一般默认已安装)
2.sudo /etc/init.d/ssh start,即启动已存在的ssh服务
3.sudo systemctl list-unit-files --type=service -all | grep -i ssh
看到有如下情况即可
如果没有,
sudo systemctl start sshd.service
sudo systemctl enable sshd.service
(报错没有sshd就输入ssh)
4.作为服务器的一方所要做的事情:
A.进入电脑所连的路由器的设置界面,netstat -nr查看网关Gateway的ip,默认情况下为主机地址为1,即网络地址(自己的ip的前三项)相同,最后一项主机地址为1,浏览器中输入ip即可进入网关设置页面,登录密码为路由器下方所写的终端账号密码
B.以电信网关为例,进入高级设置的端口映射项,局域网ip输入自己的ip,内部端口设为ssh默认的22,外部端口设为5000+(5001,5002,…)
C.sudo curl ipinfo.io,得到外网IP,将自己所设定的外部端口以及得到的ip发送给客户端即可。
客户端:
客户端得到服务器发来的ip以及端口号后,
输入:ssh your_name@外网IP -p 端口号
登录不上的需要查看/etc/ssh/sshd_config文件是否做好修改,修改后需重启服务systemctl restart sshd.service