好物优选点击查看详情 京东购买

暂无内容

利用frp搭建内网穿透实现ssh远程控制

frp的github下载地址:https://github.com/fatedier/frp

服务端配置

方式1-手动配置

到上面提供的github地址下载对应操作系统的releases包
解压后保留文件夹中的以下文件

  • frps
  • frps.ini

修改frps.ini按照以下格式

<span class="token punctuation">[</span>common<span class="token punctuation">]</span> bind_port <span class="token operator">=</span> <span class="token number">7000</span> token <span class="token operator">=</span> xxxx
<span class="token punctuation">[</span>common<span class="token punctuation">]</span> bind_port <span class="token operator">=</span> <span class="token number">7000</span>  token <span class="token operator">=</span> xxxx  
[common] bind_port = 7000 token = xxxx

启动服务端用以下命令

<span class="token function">nohup</span> ./frps -c frps.ini <span class="token operator">&</span>
<span class="token function">nohup</span> ./frps -c frps.ini <span class="token operator">&</span> 
nohup ./frps -c frps.ini &

设置开机启动服务

<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frps.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frps /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frps.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frps <span class="token function">sudo</span> systemctl start frps <span class="token function">sudo</span> systemctl status frps
<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frps.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frps /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frps.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frps  <span class="token function">sudo</span> systemctl start frps  <span class="token function">sudo</span> systemctl status frps  
sudo mkdir /etc/frp sudo cp frps.ini /etc/frp/ sudo cp frps /usr/bin/ sudo cp systemd/frps.service /usr/lib/systemd/system/ sudo systemctl enable frps sudo systemctl start frps sudo systemctl status frps

方式2-脚本自动配置

脚本github地址:https://github.com/MvsCode/frps-onekey
网络不好可以导入到自己的gitee仓库查看具体用法

安装的过程中会提示你输入以下配置,这里要注意的是token字段这是下面客户端要用的,其他的配置可以直接回车获取默认配置,要是想自定义也可以

bind_addr <span class="token operator">=</span> <span class="token number">0.0</span>.0.0 bind_port <span class="token operator">=</span> <span class="token number">5443</span> kcp_bind_port <span class="token operator">=</span> <span class="token number">5443</span> dashboard_port <span class="token operator">=</span> <span class="token number">6443</span> dashboard_user <span class="token operator">=</span> XXXXXX dashboard_pwd <span class="token operator">=</span> XXXXXX vhost_http_port <span class="token operator">=</span> <span class="token number">80</span> vhost_https_port <span class="token operator">=</span> <span class="token number">443</span> log_file <span class="token operator">=</span> ./frps.log log_level <span class="token operator">=</span> debug log_max_days <span class="token operator">=</span> <span class="token number">3</span> token <span class="token operator">=</span> XXX subdomain_host <span class="token operator">=</span> domain.com max_pool_count <span class="token operator">=</span> <span class="token number">50</span> tcp_mux <span class="token operator">=</span> <span class="token boolean">true</span>
bind_addr <span class="token operator">=</span> <span class="token number">0.0</span>.0.0 bind_port <span class="token operator">=</span> <span class="token number">5443</span> kcp_bind_port <span class="token operator">=</span> <span class="token number">5443</span> dashboard_port <span class="token operator">=</span> <span class="token number">6443</span> dashboard_user <span class="token operator">=</span> XXXXXX dashboard_pwd <span class="token operator">=</span> XXXXXX vhost_http_port <span class="token operator">=</span> <span class="token number">80</span> vhost_https_port <span class="token operator">=</span> <span class="token number">443</span> log_file <span class="token operator">=</span> ./frps.log log_level <span class="token operator">=</span> debug log_max_days <span class="token operator">=</span> <span class="token number">3</span> token <span class="token operator">=</span> XXX subdomain_host <span class="token operator">=</span> domain.com max_pool_count <span class="token operator">=</span> <span class="token number">50</span> tcp_mux <span class="token operator">=</span> <span class="token boolean">true</span> 
bind_addr = 0.0.0.0 bind_port = 5443 kcp_bind_port = 5443 dashboard_port = 6443 dashboard_user = XXXXXX dashboard_pwd = XXXXXX vhost_http_port = 80 vhost_https_port = 443 log_file = ./frps.log log_level = debug log_max_days = 3 token = XXX subdomain_host = domain.com max_pool_count = 50 tcp_mux = true

配置完之后就可以执行frps start启动,要是启动失败可以试着执行fps config去掉配置文件中的vhost_http_port和vhost_https_port两个配置项再启动

客户端配置

开启客户端ssh服务,安装openssh-server

<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> openssh-server
<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> openssh-server 
sudo apt-get install openssh-server

安装之后,可以使用以下命令验证OpenSSH服务器的sshd守护进程是否已开启

pidof sshd
pidof sshd 
pidof sshd

方式1-手动配置

到上面提供的github地址下载对应操作系统的releases包
解压后保留文件夹中的以下文件

  • frpc
  • frpc.ini

修改frpc.ini按照以下格式

<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x server_port <span class="token operator">=</span> <span class="token number">7000</span> <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span> <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span>
<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x  server_port <span class="token operator">=</span> <span class="token number">7000</span>  <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span>  <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span>  
[common] server_addr = x.x.x.x server_port = 7000 token=123456 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 7001

启动服务端用以下命令

<span class="token function">nohup</span> ./frpc -c frpc.ini <span class="token operator">&</span>
<span class="token function">nohup</span> ./frpc -c frpc.ini <span class="token operator">&</span> 
nohup ./frpc -c frpc.ini &

设置开机启动服务

<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frpc.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frpc /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frpc.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frpc <span class="token function">sudo</span> systemctl start frpc <span class="token function">sudo</span> systemctl status frpc
<span class="token function">sudo</span> <span class="token function">mkdir</span> /etc/frp <span class="token function">sudo</span> <span class="token function">cp</span> frpc.ini /etc/frp/ <span class="token function">sudo</span> <span class="token function">cp</span> frpc /usr/bin/ <span class="token function">sudo</span> <span class="token function">cp</span> systemd/frpc.service /usr/lib/systemd/system/ <span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> frpc  <span class="token function">sudo</span> systemctl start frpc  <span class="token function">sudo</span> systemctl status frpc  
sudo mkdir /etc/frp sudo cp frpc.ini /etc/frp/ sudo cp frpc /usr/bin/ sudo cp systemd/frpc.service /usr/lib/systemd/system/ sudo systemctl enable frpc sudo systemctl start frpc sudo systemctl status frpc

方式2-脚本配置

脚本github地址:https://github.com/stilleshan/frpc
网络不好可以导入到自己的gitee仓库查看具体用法

这个脚本在客户端执行可能需要sudo权限,在启用权限执行脚本之前为了安全起见最好先看看脚本写了什么

执行完脚本要修改frpc.ini配置如下

<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x server_port <span class="token operator">=</span> <span class="token number">7000</span> <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span> <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span>
<span class="token punctuation">[</span>common<span class="token punctuation">]</span> server_addr <span class="token operator">=</span> x.x.x.x  server_port <span class="token operator">=</span> <span class="token number">7000</span>  <span class="token assign-left variable">token</span><span class="token operator">=</span><span class="token number">123456</span>  <span class="token punctuation">[</span>ssh<span class="token punctuation">]</span> <span class="token builtin class-name">type</span> <span class="token operator">=</span> tcp local_ip <span class="token operator">=</span> <span class="token number">127.0</span>.0.1 local_port <span class="token operator">=</span> <span class="token number">22</span> remote_port <span class="token operator">=</span> <span class="token number">7001</span>  
[common] server_addr = x.x.x.x server_port = 7000 token=123456 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 7001

然后再按照脚本说明重启服务:sudo systemctl restart frpc

原文链接:https://blog.csdn.net/qq_42223569/article/details/118530602

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享