美文网首页
linux使用autossh实现开机自启动端口映射

linux使用autossh实现开机自启动端口映射

作者: 南瓜pump | 来源:发表于2022-03-10 09:35 被阅读0次

    1.在远程服务器上创建一个用于ssh连接的用户(ussh不需要登录权限)

    adduser ussh
    

    2.登录刚刚创建的用户

    su ussh
    

    3.生成ussh的秘钥:
    确认秘钥是否已存在:

    ls -l ~/.ssh
    

    如果不存在,手动生成(回车三次):

    ssh-keygen -t rsa -C "your_email@example.com"
    

    4.把公钥添加到authorized_keys

    cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    

    5.重启ssh服务

    service sshd restart(或者/etc/init.d/ssh restart)
    

    6.复制秘钥到客户端服务器,并设置权限(这里使用scp复制,也可以用其他方法)

    scp ussh@remote_ip:~/.ssh/id_rsa /usr/share/utbin/rsa
    chmod 600 /usr/share/utbin/rsa/id_rsa
    

    7.修改秘钥权限

    chmod 600 id_rsa
    

    8.在客户端服务器使用秘钥测试是否可以免密登录(如果不可以,请检查4,5,6步骤,如果可以登录则继续下一步)

    ssh -i /usr/share/utbin/rsa/id_rsa ussh@remote_ip
    

    9.出于安全考虑,需要取消远程服务器上的ussh账户的登录权限(root 账号下执行修改)

    vi /etc/ssh/sshd_config
    增加一行 DenyUsers ussh
    

    重启ssh服务:

    service sshd restart(或者/etc/init.d/ssh restart)
    

    10.在客户端服务器新建文件并

    vi /lib/systemd/system/autossh-tcp.service
    

    输入以下内容:(关于linux自定义系统服务的说明参考:https://www.jianshu.com/p/57aa4b66999c
    其中第六行为autossh映射指令,指令中10764为进程号,10768为本机80端口所映射远程服务器上的端口,这些映射的端口号需要自己设定,并且需要注意新的端口在远程服务器上是否已被占用,linux查看端口占用的指令netstat -nap | grep port,remote_ip是远程服务器ip

    [Unit]
    Description=ut-autossh
    After=network.target auditd.service
    [Service]
    TimeoutSec=infinity
    ExecStart=/usr/bin/autossh -M 10764 -g -N -R 10768:localhost:80 -o ServerAliveInterval=20 -o ServerAliveCountMax=3 -i /usr/share/utbin/rsa/id_rsa ussh@remote_ip
    ExecReload=/bin/kill -HUP $MAINPID
    KillMode=process
    Restart=no
    RestartPreventExitStatus=255
    Type=notify
    [Install]
    WantedBy=multi-user.target
    Alias=autossh.service
    

    11.修改文件权限为664:

    chmod 664 /lib/systemd/system/autossh-tcp.service
    

    12.使服务生效(会开机自启动):

    systemctl enable autossh-tcp
    

    13.修改后重载服务:

    systemctl daemon-reload
    

    14.手动启动服务

    systemctl start autossh-tcp
    

    相关文章

      网友评论

          本文标题:linux使用autossh实现开机自启动端口映射

          本文链接:https://www.haomeiwen.com/subject/iglfdrtx.html