为什么要内网穿透
内网建立的服务想要让外网访问,或者内网部署的几台linux想要让外网来访问,怎么办?使用 frp,使用frp需要有一台处于外网的服务器做桥接,外网服务器可以买阿里云,百度云或腾讯云主机。
安装frp
下载frp
将包放到外网的服务器(以下称为服务端)和内网的服务器(以下称为客户端)并解压
服务端:
配置文件 frps.ini
[common]
bind_port = 7000
启动
nohup ./frps -c ./frps.ini &
客户端
配置文件 frpc.ini
[common]
server_addr = 填写服务端IP
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
启动
nohup ./frpc -c ./frpc.ini &
登录
在外网机器上运行
ssh -p 6000 <客户端用户名>@<服务端ip>
登录的过程需要填写密码,对于脚本的一些操作,有时比较麻烦,因此需要配置免密登录
免密登录
- 在服务端上运行
ssh-keygen -t rsa
会在~/.ssh/ 下面生成如下几个文件
2. 将公钥拷到客户端
ssh-copy-id -p 6000 <客户端用户名>@<服务端ip>
过程中需要输入 <客户端用户名>的密码
- 再次使用就可以免密登录了
ssh -p=6000 <客户端用户名>@<服务端ip>
- 上面的命令的简化,通过设置别名sshsm(ssh swarm manager)
alias sshsm='ssh -p 6000 <客户端用户名>@<服务端ip> '
Linux centos下让alias自定义永久生效
touch /etc/profile.d/alias_bash.sh (alias_bash文件名是任意取的)
vi alias_bash.sh
输入
alias sshsm='ssh -p 6000 <客户端用户名>@<服务端ip> ’
保存
source /etc/profile.d/alias_bash.sh
使其生效
直接使用
sshsm