129 lines
4.5 KiB
Plaintext
129 lines
4.5 KiB
Plaintext
|
(*
|
||
|
Module: Test_Authorized_Keys
|
||
|
Provides unit tests and examples for the <Authorized_Keys> lens.
|
||
|
*)
|
||
|
|
||
|
module Test_Authorized_Keys =
|
||
|
|
||
|
(* Test: Authorized_Keys *)
|
||
|
test Authorized_Keys.lns get "tunnel=\"0\",no-agent-forwarding,command=\"sh /etc/netstart tun0\",permitopen=\"192.0.2.1:80\",permitopen=\"192.0.2.2:25\" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3RC8whKGFx+b7BMTFtnIWl6t/qyvOvnuqIrMNI9J8+1sEYv8Y/pJRh0vAe2RaSKAgB2hyzXwSJ1Fh+ooraUAJ+q7P2gg2kQF1nCFeGVjtV9m4ZrV5kZARcQMhp0Bp67tPo2TCtnthPYZS/YQG6u/6Aco1XZjPvuKujAQMGSgqNskhKBO9zfhhkAMIcKVryjKYHDfqbDUCCSNzlwFLts3nJ0Hfno6Hz+XxuBIfKOGjHfbzFyUQ7smYnzF23jFs4XhvnjmIGQJcZT4kQAsRwQubyuyDuqmQXqa+2SuQfkKTaPOlVqyuEWJdG2weIF8g3YP12czsBgNppz3jsnhEgstnQ== rpinson on rpinson\n" =
|
||
|
{ "key" = "AAAAB3NzaC1yc2EAAAABIwAAAQEA3RC8whKGFx+b7BMTFtnIWl6t/qyvOvnuqIrMNI9J8+1sEYv8Y/pJRh0vAe2RaSKAgB2hyzXwSJ1Fh+ooraUAJ+q7P2gg2kQF1nCFeGVjtV9m4ZrV5kZARcQMhp0Bp67tPo2TCtnthPYZS/YQG6u/6Aco1XZjPvuKujAQMGSgqNskhKBO9zfhhkAMIcKVryjKYHDfqbDUCCSNzlwFLts3nJ0Hfno6Hz+XxuBIfKOGjHfbzFyUQ7smYnzF23jFs4XhvnjmIGQJcZT4kQAsRwQubyuyDuqmQXqa+2SuQfkKTaPOlVqyuEWJdG2weIF8g3YP12czsBgNppz3jsnhEgstnQ=="
|
||
|
{ "options"
|
||
|
{ "tunnel" = "0" }
|
||
|
{ "no-agent-forwarding" }
|
||
|
{ "command" = "sh /etc/netstart tun0" }
|
||
|
{ "permitopen" = "192.0.2.1:80" }
|
||
|
{ "permitopen" = "192.0.2.2:25" }
|
||
|
}
|
||
|
{ "type" = "ssh-rsa" }
|
||
|
{ "comment" = "rpinson on rpinson" } }
|
||
|
|
||
|
(* Variable: keys *)
|
||
|
let keys = "# Example keys, one of each type
|
||
|
#
|
||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDpWrKYsEsVUyuwMN4ReBN/TMGsaUWzDKDz/uQr6MlNNM95MDK/BPyJ+DiBiNMFVLpRt3gH3eCJBLJKMuUDaTNy5uym2zNgAaAIVct6M2GHI68W3iY3Ja8/MaRPbyTpMh1O74S+McpAW1SGL2YzFchYMjTnu/kOD3lxiWNiDLvdLFZu0wPOi7CYG37VXR4Thb0cC92zqnCjaP1TwfhpEYUZoowElYkoV2vG+19O6cRm/zduYcf8hmegZKB4GFUJTtZ2gZ18XJDSQd0ykK3KPt/+bKskdrtfiOwSZAmUZmd2YuAlY6+CBn1T3UBdQntueukd0z1xhd6SX7Bl8+qyqLQ3 user@example
|
||
|
ssh-dsa AAAA user@example
|
||
|
ecdsa-sha2-nistp256 AAAA user@example
|
||
|
ssh-ed25519 AAAA user@example
|
||
|
|
||
|
# Example comments
|
||
|
ssh-dsa AAAA
|
||
|
ssh-dsa AAAA user@example
|
||
|
"
|
||
|
|
||
|
(* Test: Authorized_Keys.lns *)
|
||
|
test Authorized_Keys.lns get keys =
|
||
|
{ "#comment" = "Example keys, one of each type" }
|
||
|
{ }
|
||
|
{ "key" =
|
||
|
"AAAAB3NzaC1yc2EAAAADAQABAAABAQDpWrKYsEsVUyuwMN4ReBN/TMGsaUWzDKDz/uQr6MlNNM95MDK/BPyJ+DiBiNMFVLpRt3gH3eCJBLJKMuUDaTNy5uym2zNgAaAIVct6M2GHI68W3iY3Ja8/MaRPbyTpMh1O74S+McpAW1SGL2YzFchYMjTnu/kOD3lxiWNiDLvdLFZu0wPOi7CYG37VXR4Thb0cC92zqnCjaP1TwfhpEYUZoowElYkoV2vG+19O6cRm/zduYcf8hmegZKB4GFUJTtZ2gZ18XJDSQd0ykK3KPt/+bKskdrtfiOwSZAmUZmd2YuAlY6+CBn1T3UBdQntueukd0z1xhd6SX7Bl8+qyqLQ3"
|
||
|
{ "type" = "ssh-rsa" }
|
||
|
{ "comment" = "user@example" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
{ "comment" = "user@example" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "type" = "ecdsa-sha2-nistp256" }
|
||
|
{ "comment" = "user@example" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "type" = "ssh-ed25519" }
|
||
|
{ "comment" = "user@example" }
|
||
|
}
|
||
|
{ }
|
||
|
{ "#comment" = "Example comments" }
|
||
|
{ "key" = "AAAA"
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
{ "comment" = "user@example" }
|
||
|
}
|
||
|
|
||
|
(* Variable: options *)
|
||
|
let options = "# Example options
|
||
|
no-pty ssh-dsa AAAA
|
||
|
no-pty ssh-ed25519 AAAA
|
||
|
no-pty,command=\"foo\" ssh-dsa AAAA
|
||
|
no-pty,command=\"foo bar\" ssh-dsa AAAA
|
||
|
no-pty,from=\"example.com,10.1.1.0/16\" ssh-dsa AAAA
|
||
|
no-pty,environment=\"LANG=en_GB.UTF8\" ssh-dsa AAAA
|
||
|
"
|
||
|
|
||
|
(* Test: Authorized_Keys.lns *)
|
||
|
test Authorized_Keys.lns get options =
|
||
|
{ "#comment" = "Example options" }
|
||
|
{ "key" = "AAAA"
|
||
|
{ "options"
|
||
|
{ "no-pty" }
|
||
|
}
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "options"
|
||
|
{ "no-pty" }
|
||
|
}
|
||
|
{ "type" = "ssh-ed25519" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "options"
|
||
|
{ "no-pty" }
|
||
|
{ "command" = "foo" }
|
||
|
}
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "options"
|
||
|
{ "no-pty" }
|
||
|
{ "command" = "foo bar" }
|
||
|
}
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "options"
|
||
|
{ "no-pty" }
|
||
|
{ "from" = "example.com,10.1.1.0/16" }
|
||
|
}
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
}
|
||
|
{ "key" = "AAAA"
|
||
|
{ "options"
|
||
|
{ "no-pty" }
|
||
|
{ "environment" = "LANG=en_GB.UTF8" }
|
||
|
}
|
||
|
{ "type" = "ssh-dsa" }
|
||
|
}
|
||
|
|
||
|
(* Test: Authorized_keys.lns
|
||
|
GH 165 *)
|
||
|
test Authorized_keys.lns get "command=\"echo 'Please login as the user \\\"blaauser\\\" rather than the user \\\"root\\\".';echo;sleep 10\" ssh-rsa DEADBEEF== username1\n" =
|
||
|
{ "key" = "DEADBEEF=="
|
||
|
{ "options"
|
||
|
{ "command" = "echo 'Please login as the user \\\"blaauser\\\" rather than the user \\\"root\\\".';echo;sleep 10" }
|
||
|
}
|
||
|
{ "type" = "ssh-rsa" }
|
||
|
{ "comment" = "username1" }
|
||
|
}
|