Skip to content

Instantly share code, notes, and snippets.

@snail007
Last active June 2, 2019 17:17
Show Gist options
  • Save snail007/340aef1ae708a1b51db7a84285398a70 to your computer and use it in GitHub Desktop.
Save snail007/340aef1ae708a1b51db7a84285398a70 to your computer and use it in GitHub Desktop.
teleport安装使用手记
1.下载二进制包:https://get.gravitational.com/teleport-v2.6.1-linux-amd64-bin.tar.gz
解压得到用到的是里面的三个二进制:
1.1 tctl (管理工具)
1.2 teleport (认证服务中心)
1.3 tsh (类似ssh客户端)
tctl和teleport必须在一个服务器上
安装:
mkdir -p /var/lib/teleport
cp tctl teleport tsh /usr/bin
vps上面启动认证服务
teleport start
然后访问https://vps_ip::3080/即可访问控制台
创建帐号授权:
用户相关操作帮助:
tctl users add --help
tctl users ls --help
tctl users rm --help
添加用户:
tctl users add joe nginx,admin
可以添加一个teleport用户joe,授权linux系统用户nginx或者admin,joe登录这个节点的时候可以选择使用nginx或者admin身份登录.
上面的命令会输出一个https地址,把里面的主机名称换成vps的ip即可,然后发给需要创建用户的人完成注册,需要google 身份认证器
节点加入"认证服务中心"
做法如下:
1.在认证服务器上面执行 tctl nodes add
2.在节点只需要teleport,执行第一步输出的命令即可,命令类似:teleport start --roles=node --token=n92bb958ce97f761da978d08c35c54a5c --auth-server=10.0.10.1
--nodename可以自定义在服务中心显示的节点名称
--labels "location=virginia,arch=[1h:/bin/uname -m]" 可以给节点打标签,格式是key=value,key1=value
所有的teleport用户都可以管理所有加入的节点
tsh命令行登录
1.tsh --proxy=vps_ip --insecure login --user=admin
这样就会以admin的身份登录认证中心,执行完毕后会提示logged in
2.接下来执行:
./tsh ssh 系统用户名称@节点IP
即可登录节点
3.执行:
./tsh ls
可以查看有哪些节点,节点IP也已用ls结果里面的第一列主机名代替
4.也可以一次性执行登录:
./tsh --proxy=vps_ip --insecure --user=admin ssh root@localhost
通过scp上传下载文件
下载:
tsh scp root@debian:tcp.sh ./
上传:
tsh scp ./tcp.sh root@debian:./
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment