Linux添加信任关系的方法

来源:互联网 发布:js删除数组第二个元素 编辑:程序博客网 时间:2024/05/20 17:41

主机A增加client B的信任关系方法以及注意事项


在主机A中的操作,默认主机A已经安转了openssh

1 在服务器A上,进入当前用户根目录下的隐藏目录 .ssh 命令

cd  ~/.ssh
---通过 ls –a 命令观察到

2 生成S服务器的私钥和公钥

ssh-keygen -t rsa

ssh-keygen生成密钥用于信任关系生成

---此时会显示Generating public/private key pair. 并提示生成的公钥私钥文件的存放路径和文件名,默认是放在 /home/username/.ssh/id_rsa 这样的文件里的,通常不用改(也可以设置自己需要的名字,尤其在公用的服务器上),回车

---然后Enter passphrase(empty for no passphrase): 通常直接回车

---然后会显式密钥fingerprint生成好的提示,并给出一个RSA加密协议的方框图形。此时在.ssh目录下ls,可以看到生成好的私钥文件id_rsa和公钥文件id_rsa.pub

3 在server A服务器上加载私钥文件

仍然在.ssh目录下,执行命令:

ssh-add id_rsa     其中:id_rsa为生成私钥和公钥时指定的文件名称,默认是id_rsa
---系统如果提示:Identity added: id_rsa (id_rsa) 就表明加载成功了
---如果系统提示:could not open a connection to your authentication agent
则需要执行下面的命令:

ssh-agent bash

---如果系统提示id_rsa: No such file or directory
---如果系统提示 command not found,那肯定是你命令敲错字符了
---注意id_rsa/id_rsa.pub文件不要删除,存放在.ssh目录下

4 把生成的公钥,追加到服务器B的authorized_keys文件末尾(这个文件也在隐藏文件夹.ssh下,没有的话可以建立,没有关系)

cat id_rsa.pub >> ~/.ssh/authorized_keys

注1:这里不推荐用文件覆盖的方式,有些教程直接scp id_rsa.pub 到Client服务器的authorized_keys文件,会导致之前建的其他信任关系的数据被破坏,追加到末尾是更稳妥的方式

注2: cat 完以后,Client服务器上刚才拷贝过来的id_rsa.pub文件就不需要了,可以删除或移动到其它地方)

注3:ssh-keygen 命令通过-b参数可以指定生成的密钥文件的长度,如果不指定则默认为1024,如果ssh-keygen –b 4096(最长4096),则加密程度提高,但是生成和验证时间会增加。对一般的应用来说,默认长度已经足够胜任了。如果是rsa加密方式,那么最短长度为768 byte
但是此时从Client传数据到Server服务器,仍然是需要密码验证的。如果需要两台服务器间能直接互传数据,则反过来按上述步骤操作一下就可以了


5. 如果需要指定私钥文件,则需要在.ssh下面增加config文件

vi config;

增加如下内容:  

Host cae-aladdin-stat
User work             #需要ssh登录的用户名
HostName 10.148.0.20    #需要ssh登录的服务器,即服务器B,可以是ip,也可以是机器名
Port 22         #建立连接,通过的端口
IdentityFile
/home/work/.ssh/id_rsa.aladdin_stat    #使用的私钥文件
IdentitiesOnly
yes      #使用唯一的私钥文件,以避免其他私钥文件的干扰


当然,也可以直接在命令行里加,有2种方式:

ssh -i some_id_rsa -o 'IdentitiesOnly yes' them@there:/path/
这种方式,需要对IdentitiesOnly yes增加单引号。 some_id_rsa 保存私钥的文件名

ssh -i some_id_rsa -o IdentitiesOnly=yes them@there:/path/
这种方式,则不需要使用引号

6 文件和文件夹权限问题

需要保证主机A和client B的.ssh文件夹是700

主机A的私钥文件是600

client机器的authorized_keys,也是600



通过上面的方式,基本可以解决所有问题。


参考资料:

http://superuser.com/questions/187779/too-many-authentication-failures-for-username

http://blog.itpub.net/29500582/viewspace-1251139/



0 0
原创粉丝点击