Let *.pub files have multiple lines, each containing one SSH key.
Makes managing accounts and access for people with multiple client machines easier.
This commit is contained in:
parent
bda6572c92
commit
107833667a
|
@ -13,12 +13,10 @@ def readKeys(keydir):
|
||||||
|
|
||||||
path = os.path.join(keydir, filename)
|
path = os.path.join(keydir, filename)
|
||||||
f = file(path)
|
f = file(path)
|
||||||
try:
|
for line in f:
|
||||||
line = f.readline()
|
|
||||||
finally:
|
|
||||||
f.close()
|
|
||||||
line = line.rstrip('\n')
|
line = line.rstrip('\n')
|
||||||
yield (basename, line)
|
yield (basename, line)
|
||||||
|
f.close()
|
||||||
|
|
||||||
COMMENT = '### autogenerated by gitosis, DO NOT EDIT'
|
COMMENT = '### autogenerated by gitosis, DO NOT EDIT'
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,21 @@ class ReadKeys_Test(object):
|
||||||
('wsmith', KEY_2),
|
('wsmith', KEY_2),
|
||||||
]))
|
]))
|
||||||
|
|
||||||
|
def test_multiple_lines(self):
|
||||||
|
tmp = maketemp()
|
||||||
|
keydir = os.path.join(tmp, 'two')
|
||||||
|
mkdir(keydir)
|
||||||
|
writeFile(os.path.join(keydir, 'jdoe.pub'), KEY_1+'\n'+KEY_2+'\n')
|
||||||
|
|
||||||
|
gen = ssh.readKeys(keydir=keydir)
|
||||||
|
got = frozenset(gen)
|
||||||
|
|
||||||
|
eq(got,
|
||||||
|
frozenset([
|
||||||
|
('jdoe', KEY_1),
|
||||||
|
('jdoe', KEY_2),
|
||||||
|
]))
|
||||||
|
|
||||||
class GenerateAuthorizedKeys_Test(object):
|
class GenerateAuthorizedKeys_Test(object):
|
||||||
def test_simple(self):
|
def test_simple(self):
|
||||||
def k():
|
def k():
|
||||||
|
|
Loading…
Reference in a new issue