linux使用中转节点来执行命令之自定义的SSH命令

本文介绍了一个脚本,通过定义alias和my_ssh函数,实现在特定中转IP上执行SSH命令,提供类似SSH的体验,适用于需要中转节点的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过中转IP来执行命令,并在执行命令后自动退出。实现和SSH命令相同效果,适用某些时候需要中转节点使用的情况。

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

my_ssh() {
		throughBy="192.168.1.168"
        if [ -z "$1" ]; then
                echo "Usage: connect <hostname>"
                return 1
        fi

        local my_user my_ip
        if [[ $1 == *@* ]]; then
                my_user="${1%%@*}"
                my_ip="${1#*@}"
        else
                my_user="root"
                my_ip="$1"
        fi

        curCmd="ip a"
        if [ ! -z "$2" ]; then
                curCmd=$2
        fi

        if [ "$my_ip" == "$throughBy" ]; then
                echo "Need to connect through $throughBy"
                ssh -tt $throughBy "ssh $my_user@$my_ip '$curCmd'; exit"
        else
                ssh -tt $my_user@$my_ip "$curCmd; exit"
        fi
}

### macOS 上配置和使用 frp 实现内网穿透 #### 准备工作 为了在 macOS 上成功配置并使用 frp 进行内网穿透,需要完成以下几个方面的准备工作: - **阿里云服务器**:作为公网节点,用于中转流量。确保该服务器已安装好 frp 的服务端程序。 - **macOS 客户端**:本地机器需下载适合版本的 frp 并进行相应配置。 --- #### 下载与安装 frp 可以从官方 GitHub 页面获取最新版的 frp 工具包[^2]。具体步骤如下: 1. 访问 [frp 官方仓库](https://github.com/fatedier/frp),找到适用于 macOS 和 Linux 的二进制文件。 2. 解压压缩包后会得到 `frps`(服务端)和 `frpc`(客户端)两个可执行文件。 对于 macOS 用户来说,仅需关注 `frpc` 文件即可。 --- #### 配置服务端 (Aliyun Server) 编辑服务端配置文件 `frps.ini`,以下是基本模板: ```ini [common] bind_port = 7000 # 绑定的服务端监听端口 vhost_http_port = 80 # HTTP 流量转发使用的端口号 vhost_https_port = 443 # HTTPS 流量转发使用的端口号 token = your_token # 设置令牌以增强安全性 dashboard_port = 7500 # 可选:监控面板端口 ``` 保存上述内容至 `/path/to/frps.ini` 后,在终端运行以下命令启动服务端: ```bash ./frps -c /path/to/frps.ini ``` --- #### 配置客户端 (Mac Local Machine) 创建或修改客户端配置文件 `frpc.ini` 如下所示: ```ini [common] server_addr = xxx.xxx.xxx.xxx # 替换为阿里云服务器的公网 IP 地址 server_port = 7000 # 对应于 servicePort 值 token = your_token # 确保和服务端一致 [tcp_ssh] type = tcp # 使用 TCP 协议 local_ip = 127.0.0.1 # SSH 或其他服务绑定地址 local_port = 22 # Mac 自带 sshd 默认端口 remote_port = 6000 # 外部访问此端口连接到内部 SSH [http_web] type = http # 如果想暴露 Web 应用则设置此项 local_port = 80 # 内部 web server 所监听的端口 custom_domains = example.com # 自定义域名解析到这里 ``` 完成后同样通过命令行激活客户端进程: ```bash ./frpc -c /path/to/frpc.ini ``` --- #### 测试连通性 当两端都正常运作之后,可以通过外部网络尝试访问指定资源来验证效果。比如针对上面提到的例子: - 登录远程 MAC 主机:`ssh username@xxx.xxx.xxx.xxx -p 6000` - 查看网页展示情况:打开浏览器输入 `http://example.com/your-path` 如果一切顺利,则说明已经成功实现了基于 FRP 技术下的内网穿透功能[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值