遇到问题
我输入命令:
ssh-keygen -t dsa
生成公用/专用dsa密钥对。我将其保存在默认设置(
/home/user/.ssh/id_dsa
)中,然后输入两次Enter passphrase。然后我得到以下信息: >但是在我的计算机冻结之后不久,重新登录时出现了
could not find .ICEauthority error
。我遇到了这个问题,并删除了SSH文件,但希望能够使用正确的权限来避免将来出现这些问题。
我应该如何设置ICEauthority,或者应该在哪里保存SSH密钥-或它们应该具有什么权限?最好使用虚拟机吗?
这是非常新的东西,我的学习曲线非常陡峭,因此可以得到任何帮助。
#1 楼
chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub
(即chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
)是正确的。chmod 644 ~/.ssh/id_rsa.pub
(即chmod a=r,u+w ~/.ssh/id_rsa.pub
)也是正确的,但chmod 644 ~/.ssh/id_rsa
(即chmod a=r,u+w ~/.ssh/id_rsa
)则不正确。您的公共密钥可以是公共的,重要的是您的私有密钥是私有的。.ssh
目录本身也只能由您写:chmod 700 ~/.ssh
或chmod u=rwx,go= ~/.ssh
。您当然需要能够读取它并访问其中的文件(执行权限)。如果其他人可以阅读它并不会直接有害,但是它也没有用。您不需要
sudo
。不要使用sudo
来处理自己的文件,这只会导致错误。关于
.ICEauthority
的错误与您显示的chmod
命令无关。这是一个巧合,还是您运行了其他一些没有显示给我们的命令。 评论
〜/ .ssh / known_hosts的权限需要是什么?
– Nikc
18年1月24日在16:24
我想在上面的答案中加上我的主目录(〜/)也需要具有755权限,而不管〜/ .ssh及其中文件的权限如何。 (这是在Synology NAS上,可能不适用于所有Linux)
– hoelk
18年5月30日在18:30
@terdon:那么,您是说我们应该接受Scrooge McDuck的建议编辑吗?那吉勒斯应该凌驾于我们之上并接受它? (请注意,其中包含错误。)
– G-Man说“恢复莫妮卡”
20年6月23日在1:59
@ G-ManSays'ReinstateMonica'我很傻地说我的编辑不能提高可读性;如果不是这样,论文将仅包含内联方程。另一方面,我无法理解一个极其简单且正确突出显示的表来解释如何读取这些chmod会显得多余。如果是这样,那么为什么要首先发布命令,而又不能始终将用户指向bash脚本。
– Scrooge McDuck
20年6月28日在4:12
就是说,我只是出于非常实际的原因希望显示我的答案:人们一直问我如何始终启用ssh,他们发现非常讨厌从Gilles的答案中复制粘贴许多内联命令,他们通常会这样做。很难理解和记住。我不在乎您是否认为此答案是改进版本还是全新的答案,我只关心在此重定向的人员(包括我本人)以最有效的方式回答他们的问题。
– Scrooge McDuck
20-6-28在4:22
#2 楼
# Set public/private key permissions
# Octal form
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa.pub
# Equivalent literal form
chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
# Optional: make public key readable
chmod 644 ~/.ssh/id_rsa.pub # chmod a=r,u+w ~/.ssh/id_rsa.pub
# Set directory permissions
chmod 700 ~/.ssh # chmod u=rwx,go= ~/.ssh
# Legend for literal form
# u: user r: read
# g: group w: write
# o: others x: execute
评论
错别字-抱歉,只生成了一组密钥!.ssh目录的权限与关键权限同等重要。应该是600。要解决此问题,请运行:chmod -R 600〜/ .ssh。
实际上.ssh目录权限需要为700而不是600。执行权限是使您可以访问该目录中内容的权限。因此正确的命令应该是chmod 700 $ HOME / .ssh和chmod 600 $ HOME / .ssh / id_rsa
有关.ICEauthority的错误与您显示的chmod命令无关。要么是巧合,要么是您运行了其他一些没有显示给我们的命令。