- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
为了稍微提高安全性,我想以不同的用户身份运行 keychain
代理。这将防止劫持我的系统的用户获得实际的私钥,同时保持使用它来验证 ssh
和 scp
连接的能力。
我尝试了什么?
我创建了一个名为 agent
的用户,他应该存储私钥并运行 ssh-agent 进程。我创建了一个脚本文件来为套接字设置正确的权限:
#!/bin/sh
export EVAL=$(keychain --eval -q)
eval $EVAL
chmod 770 $(dirname $SSH_AUTH_SOCK) $(dirname $GPG_AGENT_INFO)
chmod 660 $SSH_AUTH_SOCK $(echo $GPG_AGENT_INFO | sed 's/:.*//')
echo $EVAL
然后在我的 .bashrc
中调用那个,评估它。
但是当我现在通过 ssh
连接到服务器时,我得到了
$ ssh server
Error reading response length from authentication socket.
有什么提示吗?
最佳答案
keychain
似乎使用已经在运行的 ssh-agent
或 gpg-agent
,并在需要时启动一个。
ssh-agent
检查正在运行的进程的用户 ID 是否与通过 unix 域套接字连接的用户的 ID 匹配(root 除外)。如果您在 Debug模式下运行代理,您将看到相应的错误消息。在这种情况下,套接字会立即关闭,因此您会收到上面提到的错误消息 - 您可能正在系统上使用 ssh-agent
。这意味着使用 ssh-agent
无法执行您尝试执行的操作(除非您不对其进行修改)。
如果您使用带有 --enable-ssh-support
选项的 gpg-agent
作为 ssh-agent
的替代品,它应该可以工作,但您应该知道,此设置并不能真正提高安全性。使用您尝试设置的权限,它将允许每个有权访问套接字的用户在解锁后使用添加的 key 进行身份验证,因此它实际上不太安全。
关于linux - 以不同用户身份运行钥匙串(keychain),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13691492/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!