- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我会尽我所能解释我的场景:
我在 debian 压缩服务器中使用 gitolite,有 3 个用户可以访问和使用存储库:
alex@workbox
alex@homebox
katy@workbox
以上是三个Ubuntu盒子对应的用户名和主机名(Alex在两个地方工作)。
我做的第一件事是将 alex@workbox
添加到 gitolite:
repo project1
RW+ = alex@workbox
git add .
git commit -m "Added alex@workbox"
git push
当 Alex 尝试克隆 project1 存储库时,出现错误提示用户“alex
”的访问被拒绝。
因此,我登录到服务器并打开了/var/lib/gitolite/.ssh/authorized_keys
。
该文件的第一部分是这样的:
command="/usr/share/gitolite/gl-auth-command alex",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa...
所以我手动将 alex
替换为 alex@workbox
,保存文件,这次 Alex 能够克隆存储库并毫无问题地使用它。
然后我按照上面的步骤添加 Katy,在推送到 gitolite-admin
之后,我再次打开 authorized_keys
文件,看到 gitolite 替换了“user@hostname
”与“user
”。
所以它有 alex
而不是 alex@workbox
并且 katy
也是如此。
然后我不得不再次手动替换它并保存文件。我看到,对于我为 gitolite-admin
repo 所做的每一次推送,gitolite 都会将其中的每个“user@hostname
”替换为“user
” .ssh/authorized_keys
这种方式使用户无法访问存储库。
如何让 gitolite 保留“user@hostname
”?
是否需要在服务器上进行配置或在本地克隆的 gitolite-admin
存储库上进行配置更改?
最佳答案
User names and repo names are as simple as possible; they must start with an alphanumeric, but after that they can also contain
.
,_
, or-
.Usernames can optionally be followed by an
@
and adomainname
containing at least one.
(this allows you to use an email address as someone's username).
您的命名约定不遵循具有“@
”的正确语法。
您可以在 src/triggers/post-compile/ssh-authkeys
中看到此规则的实际应用
sub optionise {
my $f = shift;
my $user = $f;
$user =~ s(.*/)(); # foo/bar/baz.pub -> baz.pub
$user =~ s/(\@[^.]+)?\.pub$//; # baz.pub, baz@home.pub -> baz
my @line = slurp($f);
if ( @line != 1 ) {
_warn "$f does not contain exactly 1 line; ignoring";
return '';
}
chomp(@line);
return "command=\"$glshell $user" . ( $kfn ? " $f" : "" ) . "\",$auth_options $line[0]";
}
关于authorized_keys 文件中的 Gitolite 用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957954/
我正在使用 Linux VPS 作为 Web 服务器(haproxy+nginx+java+mysql+memcached+redis+solr),出于安全原因,我禁用了密码登录并改为使用 key 。
我想在 EC2 云中的 AWS 下运行的 Linux 机器上设置一个 ssh key 。 为此,我首先安装了 cygwin,然后按照以下步骤操作: ssh-keygen -t dsa -f ~/.ss
我们的 linux 机器上有时会有很大的 /root/.ssh/authorized_keys 文件,这是因为文件中有很多重复行,如下所示 ssh-rsa AAAAB3NzaC1yc2EAAAADAQ
我们的 linux 机器上有时会有很大的 /root/.ssh/authorized_keys 文件,这是因为文件中有很多重复行,如下所示 ssh-rsa AAAAB3NzaC1yc2EAAAADAQ
我全新安装了 CentOS 6.5,我将其用作小型团队的开发服务器。我们有一个中央裸 Git 存储库,我们将通过 ssh 连接到它。 我设置了一个名为 git 的用户和一个名为 test 的用户。 t
我在我的服务器上编辑了 authorized_keys 文件,当我保存文件时,我的互联网连接中断了,而且它没有很好地保存文件。现在我无法使用我拥有的 key (旧 key 和新 key )访问我的机器
我有一个使用 Python 和 Paramiko 编写的软件,它可以将公共(public) ssh key 分发到目标 linux 机器。然后它尝试使用私钥进行连接。在一台机器上(RHEL 版本 5)
我会尽我所能解释我的场景: 我在 debian 压缩服务器中使用 gitolite,有 3 个用户可以访问和使用存储库: alex@workbox alex@homebox katy@workbox
我最近使用 SSH key 和其他一切在 Cygwin 环境中安装了 Gitolite。 我成功安装了 Gitolite 并且可以访问 gitolite-admin 存储库,配置并放置新 key 。当
我知道这对你们中的一些人来说可能微不足道。 我不是 Linux 专家,我正在尝试使用 git。为此,我想尝试将我的公共(public) SSH key 添加到我的用户 git 的 ~/.ssh/aut
我将公共(public) SSH key 添加到了 authorized_keys 文件中。 ssh localhost 应该让我登录而无需询问密码。 我这样做了,并尝试输入 ssh localhos
我从 ssh-ing服务器1 至服务器2 .我生成了 id_rsa & id_rsa.pub 文件。如果我 ssh 到 mike@server2 它工作正常,但 ssh 到 john@server2
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我已完成使用公钥/私钥对设置 ssh 登录。我的 id_rsa(私钥)在我的 ~/.ssh 目录中,并且在同一个目录中还有 id_rsa.pub(公钥)目录。我不是安全专家,但有些事情告诉我将两个 k
您好,我正在我的机器上安装 hadoop,我创建了一个新组和组下的一个用户 [hduser@localhost ~]$ ssh-keygen -t rsa -P "" Generating publi
当前设置,2 台主服务器,12 台工作服务器:worker 通过 ssh-copy-id 连接到 master,master 和 worker 在 master 上的 redis-queues 中写入
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
Salt有一个状态模块来管理.ssh/authorized_keys https://docs.saltstack.com/en/develop/ref/states/all/salt.states.
我正在使用 EC2 上的公共(public) RedHat AMI,并尝试创建一个默认允许 ssh root 的镜像。我更改了 /etc/ssh/sshd_config 文件,将 PermitRoot
我是一名优秀的程序员,十分优秀!