数据科学每日总结--Day41--ubuntu安装tailscale

在用ubuntu开发时,我们经常是通过远程ssh连接来开发的。而对于有些在境外的开发人员来说,像向日葵这种软件的连接很不稳定,容易断开。这个时候,就需要我们在ubuntu上装tailscale供ssh连接了。

ubuntu安装tailscale

在很多教程里,在ubuntu里装tailscale都是用手动安装的命令,需要GPG密钥,例如

复制代码
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.gpg | sudo apt-key add -
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt-get update && sudo apt-get install tailscale

但是在实操的过程中,这个命令很容易遇到下载的密钥找不到,又要手动下载密钥或者去查询并验证密钥是否是对的,很麻烦;亦或者教程会推荐用curl直接一键用tailscale密钥安装:

复制代码
curl -fsSL https://tailscale.com/install.sh | sh && sudo tailscale up --auth-key='密钥'

这类命令后续需要下载许多包,且也要安装GPG密钥。

其实很多时候,像这种软件下载,我们首先要做的不是在网上找教程,而是去官网里看看有没有一键下载的命令或者推荐的方式,可能是平时大家下载软件时总是要把默认路径从C盘改到其他盘,大家都不太相信官网的命令。但实际上,官网的命令是包含了要下载的所有东西的,我们只需要在ubbutu运行:

复制代码
curl -fsSL https://tailscale.com/install.sh | sh

看到:

复制代码
Created symlink /etc/systemd/system/multi-user.target.wants/tailscaled.service → /lib/systemd/system/tailscaled.service.
+ [ false = true ]
+ set +x
Installation complete! Log in to start using Tailscale by running:

sudo tailscale up

就说明下载成功了,接下来我们在官网注册一下tailscale账号,在设置里找到key,创建一个用于外部连接的密钥,然后在ubbutu运行:

复制代码
sudo tailscale up --auth-key=密钥

没有输出是正常的,在linux系统里除了运行一些进程和下载更新包外,许多命令都是没有输出的。接下来我们运行:

复制代码
tailscale ip

会看到返回两个网址,一个是IPV4,一个是IPV6,都能用来ssh连接。

到这一步先别急,很多人装好后,着急忙慌地就直接下载tailscale客户端尝试进行ssh连接了,但是还有很关键的一步:开启ubbutu的ssh连接,并检查防火墙是不是屏蔽了。

首先让我们检查一下ssh有没有安装:

复制代码
sudo systemctl status ssh

如果显示inactive,not found或者不活动,就说明未安装或未启动。这个时候运行:

复制代码
sudo apt update && sudo apt install openssh-server -y
sudo systemctl start ssh
sudo systemctl enable ssh  # 设置开机启动

设置开机启动是为了防止以后出现类似的问题,毕竟一般用ubbutu开发的话,这台远程的服务器一般是不关机的

接着我们来检查防火墙:

复制代码
sudo ufw status

显示inactive的话,就说明防火墙没启用,可以忽略;但如果显示active,就需要开放ssh端口:

复制代码
sudo ufw allow ssh  # 或 sudo ufw allow 22/tcp

然后输入命令来检查是否监听了ssh端口:

复制代码
sudo ss -tlnp | grep :22

如果有类似显示:

复制代码
sudo ss -tlnp | grep :22
LISTEN 0      128                     0.0.0.0:22         0.0.0.0:*    users:(("sshd",pid=20031,fd=3))          
LISTEN 0      128                        [::]:22            [::]:*    users:(("sshd",pid=20031,fd=4))

说明已经监听着了。接下来检查SSH设置里是否用默认值"PasswordAuthentication no"来阻止密码登录,这同样会使ssh登录失效。

运行一下命令,备份原始配置文件并添加配置:

复制代码
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
# 启用密码认证
sudo sed -i '/^# Authentication/a PasswordAuthentication yes' /etc/ssh/sshd_config

# 确保Root登录被安全地禁止
sudo sed -i '/^# Authentication/a PermitRootLogin prohibit-password' /etc/ssh/sshd_config

然后运行:

复制代码
sudo grep -E "^PasswordAuthentication|^PermitRootLogin" /etc/ssh/sshd_config

如果看到:

复制代码
PasswordAuthentication yes
PermitRootLogin prohibit-password

就说明配置成功了,可以进行tailscale远程ssh连接。

本地windows下载tailscale

我们在windows本地下载tailscale时,一般会遇到两种错误。

  • 一是下载时,没有用管理员身份运行,此时在安装时会报错;

  • 二是在下载过程中,碰到错误:

    Some Windows system services required by Tailscale are currentlydisabled. Please re-enable the following services: iphlpsvc

它的意思是,本地的一个网络服务iphlpsvc被中断了, 此时需要我们用win+R输入services.msc ,找到IP Helper,把启动设置改为自动,点击确定后,再双击点开,点击服务状态下的启动(如果显示已停止)。然后继续安装就能成功了

相关推荐
十二同学啊5 小时前
向量数据库:从核心原理到 RAG 与 Java 实战
数据库
蓝速科技6 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
Linux-lucky7 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
一 乐9 小时前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
SelectDB9 小时前
同等资源下 Apache Doris 4.2 vs StarRocks 4.1.1:1TB SSB 与 TPC-H 性能实测
大数据·数据库·数据分析
这个DBA有点耶9 小时前
数据库集群与分布式架构:三条技术路线对比、金仓KES RAC实测数据与决策框架
数据库·程序员·架构
MayBaymax9 小时前
MongoDB 索引与事务
java·数据库·mongodb
SelectDB9 小时前
Doris vs ClickHouse:企业 OLAP 走向下一阶段,两种技术路线如何选择
大数据·数据库·数据分析
vx-程序开发9 小时前
【计算机毕设】django校园跑腿服务系统83141
java·数据库·vue.js·spring boot·spring·elasticsearch·django
一 乐10 小时前
养老院管理系统|基于springboot + vue养老院管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计