1. 搞定公网ip
首先需要一个公网ip,以便于在互联网的环境中,能够访问到你家里的网络地址。不同的运营商获取动态公网ip的难易程度也有所不同,建议使用联通的宽带,尤其不要使用移动的。
可以打电话说家里安装摄像头,让安装师傅直接配置,师傅如果说不懂的话,就跟他说
师傅,麻烦光猫桥接,路由器拨号。
再递根华子,大部分师傅都会给你搞好的。
对于没办法获取公网ip的小伙伴,就得去研究一下frp内网穿透了,本文就不详细描述啦。会稍微折腾一点,还可能需要购买一个云服务器,而且带宽也受限制。
那么如何看当前家里的公网ip呢,我是小米的路由器,使用小米路由器的app“小米wifi”,在他的上面就可以看到当前的ip地址。
2. 家庭路由器设置端口转发
可以百度一下自己购买的路由器的设置页面,如何去开始路由器的端口转发。这里以我家的小米路由器举例
电脑或者手机连接到家庭的wifi之后,访问
http://192.168.31.1/cgi-bin/luci/web
输入路由器密码。
在高级设置- 端口转发页面,
新增一条记录。
需要注意的是,外部端口不要使用22端口,尽量使用一些长的,比如2022,2024之类的跟ssh没有关系的端口,防止被攻击。
内部IP地址,就填写mac的ip地址,可以使用ifconfig命令查看。
3. 关闭远程账号密码访问,开启公钥访问
在mac上面创建一个新的用户,用于远程访问使用
4. 开启mac的远程访问
在设置里面搜索远程,在里面勾选刚刚创建的用户,用于远程访问
4. mac配置公钥登录
截止目前,已经可以通过公网ip加上外部端口来访问家里的电脑了,但是通过ssh的密码登录总是觉得有点不安全,如果你有常用的远程登录的机器的话,比如公司,那就可以通过公钥来登录。
我目前使用的是仅仅允许使用公钥登录,这样可以提升安全系数。
sudo vi /etc/ssh/sshd_config
将 PubkeyAuthentication 改成yes
如果说前面有个#,代表注释掉的话,就给他去掉#
同理 PasswordAuthentication 改成no,禁止密码登录
然后再加上一行
允许登录的用户 ,改成你的用户
AllowUsers zhangsan
然后在公司的电脑里面生成ssh的公私钥,将公钥放到你mac的远程登录用户目录下的.ssh目录下的authorized_keys里面即可。
然后输入下面的命令重启SSH
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
5. 大功告成
6. 附录
如果你感觉总是输入ip地址不方便,那可以试着购买一个云厂商的域名,然后在mac上面安装docker,启动ddns-go容器。然后配置当前云厂商的ak和sk。就可以自动完成动态域名解析了,哪怕公网ip变了,也可以自动映射成新的ip地址,而你登录的时候只要使用域名即可。