有个人 A 和个人 B,他们彼此都有对方的 ssh 公钥,因此这意味着他们可以访问彼此的 shell。
现在他们可以访问彼此的私人 ssh 和 gpg 私钥。并且他们可以轻松地导出私钥并将其发送给自己。
有没有办法让他们无法访问这些密钥或无法导出它们。
有没有办法限制他们互相访问 ~/.gnugp 和 ~/.ssh 文件夹
提前致谢
编辑 好的,我尝试用我的两台电脑,我用我的笔记本电脑访问我的系统
amr@amr-Notebook:~$ ssh [email protected]
[email protected]'s password:
Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-generic-pae i686)
* Documentation: https://help.ubuntu.com/
11 packages can be updated.
0 updates are security updates.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
rusty@rusty-MS:~$ exit
logout
Connection to 192.168.1.8 closed.
amr@amr-Notebook:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
[email protected]'s password:
Now try logging into the machine, with "ssh '[email protected]'", and check in:
~/.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
amr@amr-Notebook:~$ ssh [email protected]
Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-generic-pae i686)
* Documentation: https://help.ubuntu.com/
11 packages can be updated.
0 updates are security updates.
Last login: Sat Sep 8 21:01:06 2012 from amr-notebook.local
rusty@rusty-MS:~$
rusty@rusty-MS:~$ cd .ssh/
rusty@rusty-MS:~/.ssh$ ls
authorized_keys id_rsa id_rsa.pub
rusty@rusty-MS:~/.ssh$
我通过笔记本电脑访问我的桌面,只需要我的 shh 和密码
然后我注销并将我的公钥发送到桌面系统
然后我再次尝试使用 ssh,这次它让我进入
正如你在上面看到的,我可以轻松访问桌面系统的 ssh 文件夹并查看所有密钥
现在有什么办法可以让我不再能够访问我的桌面 .ssh 文件夹,也无法访问桌面公钥和私钥吗?
谢谢
答案1
根据您的示例,有两个人和两台计算机,应该有四个帐户:
在 Rusty 的桌面上:~rusty/ 和 ~shiny/
在 Shiny 的笔记本电脑上:~rusty/ 和 ~shiny/
在桌面上,你可以拥有〜rusty的私钥和公钥;以及〜/shiny的公钥
在笔记本电脑上,你可以拥有 ~rusty 的公钥和 ~shiny 的公钥和私钥
Rusty 可以通过 ssh 进入笔记本电脑上自己的帐户,而 Shiny 可以通过 ssh 从笔记本电脑进入台式机。
Shiny 无法看到 rusty 的私钥,因为他无法进入 rusty 的台式机账户;Rusty 也无法看到 shiny 的私钥,因为他无法进入 shiny 的笔记本电脑账户。如果没有私钥,他们即使有相应的公钥,也无法登录对方的账户。
每个系统的管理员(或根)都可以看到每个帐户,但只要台式机是 Rusty,笔记本电脑是 Shiny,并且他们没有将彼此添加到 sudoers 组,他们仍然无法看到彼此的秘密私钥。
请记住,将任何公钥发送给任何人都是可以的——这不是一个安全问题。
答案2
SSH 代理是您的好朋友。请仅将您的 SSH 私钥存储在您的私人安全设备上。使用 ssh 的 -A 选项调用代理转发到其他主机并通过其他主机转发。如果没有内核级监听和非常先进的 SSH 内存取证(大多数人不具备这种技能,也没有工具可以自动执行此操作),SSH 服务器的用户或任何其他中间服务器将无法窃取您的密钥。
me@my-secure-laptop$ ssh -A [email protected]
您可能还对利用钥匙串应用程序来提高安全性感兴趣。
$ aptitude search keychain
i keychain
key manager for OpenSSH