Last active
June 2, 2019 17:17
-
-
Save snail007/340aef1ae708a1b51db7a84285398a70 to your computer and use it in GitHub Desktop.
teleport安装使用手记
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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