ssh
是一种安全传输协议,在linux
平台中被广泛应用。通过ssh
可以实现快速安全的在多台linux
主机间进行数据传输等操作。这里主要简单记录一下如何建立ssh信任关系。
ssh
的信任关系是通过rsa
加密的方式进行的,加密分为公钥
和私钥
两部分,两台计算机直接通过公钥
和私钥
的匹配建立信任关系。
假设现在有两台主机A
和B
,要在B
上建立对A
的信任,需要先在A
主机上生成ssh-key
。如果不清楚A
主机是否已经有ssh-key
了,可以先执行:
ls ~/.ssh
看看.ssh
文件夹中是否存在id_rsa
,id_rsa.pub
这两个文件,其中id_rsa.pub
就是前面提到的公钥
。
如果之前没有生成过这两个文件,那么需要执行:
ssh-keygen -t rsa
系统会弹出几个选项供选择,如果没有特殊需要,一路默认下去就行了,最后会在~/.ssh
文件夹中生成我们所需要的id_rsa
和id_rsa.pub
,然后打印出id_rsa.pub
看看
cat ~/.ssh/id_rsa.pub
接下来,我们先不要关闭A
主机,在另一界面登录B
,查看B
的.ssh
文件夹下有没有authorized_keys
这个文件,如果没有的话,需要新建一个:
vim authorized_keys
把刚才打印出的A
主机的id_rsa.pub
的内容复杂到其中就可以了。
至此,B
对A
的信任关系就算建立上了,可以在A
主机上试试用ssh方式登录B
看看,这个时候如果不需要输入密码,就证明信任关系已经建立成功了,如果还需要输入密码的话,可以到B
主机看看.ssh
文件夹和authorized_keys
文件的权限。
.ssh
文件夹的权限应为755
,authorized_keys
文件的权限应为600
,可以使用chmod
命令来更改:
chmod 755 ~/.ssh
chmod 600 ~/.ssh/authorized_keys