我们有一些F5大IP设备,它们必须使用本地用户帐户。我们希望让用户通过和SSH密钥进行身份验证,然后可以使用这些密钥设置他们的帐户密码。我们如何通过SSH和交通管理壳牌(TMSH)来完成这一任务?
我们的设备正在使用以下版本:
username@(bigipwaf-vmss_0)(cfg-sync In Sync)(Active)(/Common)(tmos)# show sys version
Sys::Version
Main Package
Product BIG-IP
Version 13.1.0.2
Build 0.0.6
Edition Point Release 2
Date Tue Jan 16 08:46:28 PST 2018发布于 2018-05-15 02:49:01
步骤1:启用要用于自动化的F5帐户上的SSH公钥身份验证:
MY_KEY=$(cat ~/.ssh/id_rsa.pub)
WAF_IP=10.0.0.100
SSH_OPTIONS=' -p 50001 ' #Optional if you need to change the SSH port or other settings
#This will prompt for the admin password twice, after which the
ssh $SSH_OPTIONS admin@$WAF 'modify auth user admin shell bash'
ssh $SSH_OPTIONS admin@$WAF "echo '$MY_KEY' | sudo tee /home/admin/.ssh/authorized_keys"步骤2:在设置了自动化帐户之后,可以使用以下方法创建新的本地F5帐户:
Users="user1 user2 user3"
declare -A sshkeys=()
sshkeys[user1]=$(cat /home/USERNAME/.ssh/id_rsa.pub) #Source from local home folder
sshkeys[user2]=$(curl -s https://github.com/torvalds.keys) #Source from public github
sshkeys[user3]=$(curl -sn "https://github-enterprise.private.com/api/v3/users/USERNAME/keys" | jq --raw-output '.[] | .key') #Setup ~/.netrc with a line like: machine github-enterprise.private.com login x-oauth-basic password INSERT_Personal_Access_Token_HERE
for SSHUser in $Users
do
echo -e "Adding WAF account for $SSHUser"
ssh -p 50001 "admin@$WAF" "tmsh create auth user $SSHUser shell bash partition-access add { all-partitions { role admin } }"
ssh -p 50001 "admin@$WAF" "sudo mkdir -p /home/$SSHUser/.ssh && echo '${sshkeys[$SSHUser]}' | sudo tee /home/$SSHUser/.ssh/authorized_keys"
#Permissions don't seem to matter. all home files owned by root:webusers
done
done第三步:用户可以登录并为他们的帐户设置密码。
#Login using ssh key:
ssh user1@10.0.0.100 -p 50001
#change password on account:
passwd然后,该密码将允许用户登录到门户网站。
https://networkengineering.stackexchange.com/questions/50521
复制相似问题