ubuntu服务器ssh配置并完成内网穿透
基本介绍:物理服务器已经安装ubuntu18.04.需要配置ssh实现内网登录,并且使用内网穿透实现公网远程访问.
注意:如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server
一、配置ssh实现内网登录:
1.安装ssh-server:
1 | sudo apt-get install openssh-server |
2.启动ssh服务:
1 | sudo /etc/init.d/ssh start或sudo service ssh start |
3.设置允许远程root用户登录:
1 | sudo vim /etc/ssh/sshd_config |
搜索找到PermitRootLogin
加入配置
PermitRootLogin yes
4.重启SSH服务:
1 | sudo /etc/init.d/ssh stop |
5.登陆SSH
同一局域网内其他机器可以输入命令实现访问,内网访问
ssh 服务器名字@内网ip
注意:不知道服务器IP地址可输入ifconfig查看,如果找不到命令请先输入
1 | sudo apt install net-tools |
安装net-tools.
二、内网穿透,实现公网访问
介绍:上述方式已经实现同一局域网内对ubuntu服务器的访问,客户端一旦离开该局域网就会失去连接,如果想要实现在家里,咖啡厅或者其他地方随时随地对服务器访问该怎么办呢?在ipv4公网IP资源枯竭的情况下,运营商基本不会分配公网IP。而想要实现公网访问内网/局域网,普遍是通过内网穿透来实现。
本文使用cpolar完成内网穿透,支持http/https/tcp协议,可免费使用,并且不限制流量。能够将本地端口映射到公网上,生成公网,实现外网任意地点远程访问内网。
1.安装cpolar
1 | curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash |
注意:如果没有curl请按照提示安装curl
2.查看cpolar版本信息
1 | cpolar version |
3.注册登录cpolar获取Authtoken
复制你的token
1 | cpolar authtoken xxxxxxx(你的token) |
4.向系统添加服务
1 | sudo systemctl enable cpolar |
5.启动cpolar服务
1 | sudo systemctl start cpolar |
6.查看服务状态
1 | sudo systemctl status cpolar |
7.开启穿透
要在端口80上启动HTTP隧道,请运行以下命令:
1 | cpolar http 80 |
8.获取ssh隧道的公网地址
登录cpolar web UI管理界面
在浏览器访问:http://localhost:9200/,输入所注册的cpolar账号密码,登录cpolar web UI管理界面
控制端电脑打开终端命令行,输入命令,远程ssh访问局域网内的ubuntu。
如cpolar已经将本地22端口映射到了xxxx端口,所以,ssh命令需要加-p参数,后面加公网隧道端口号(具体端口号在url的:后面)
1 | ssh -p XXXXX 用户名@1.tcp.vip.cpolar.cn(X为cpolar生成的端口号,用户名替换为主机用户名) |
在输入正确的命令后,Ubuntu会出现提示信息,询问是否确定连接该端口,并要求输入Ubuntu系统的密码,此时分别输入“yes”和ubunt系统密码即可。
注意:cpolar免费版24小时更新一次公网ip,记得修改命令里的ip参数.详情见文档