数据科学每日总结--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,把启动设置改为自动,点击确定后,再双击点开,点击服务状态下的启动(如果显示已停止)。然后继续安装就能成功了

相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
莫回首�3 小时前
ubuntu 20.04 多网卡配置,遇到问题总结
linux·网络·ubuntu
科技小花6 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸6 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain6 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希6 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神6 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员6 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java7 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
问简7 小时前
ubuntu24 主题经验
ubuntu