level 12
以下介绍以密钥ssh登入远端主机的方法。除了不需要输入密码外,这个密钥的加密强度是远大於输入密码的。所以有些ssh主机会设置成禁止密码登入,只允许使用密钥登入,一旦设置成这个模式,除非获得密钥,不然几乎无法破解进入。(此次不介绍,单纯只是免输入密码)
不同的机器使用的编码机制不同,这里所用的编码机制为Ubuntu预设使用的RSA2,若你的主机上有其他的机制,也是类似方法,只是产成公钥私钥的参数不同。
2014年09月21日 14点09分
1
level 12
我们先假设:
A电脑为client
B电脑为server
1. 在A电脑产生RSA2公钥与私钥
ssh-keygen -t rsa
此外常见的还有RSA1, DSA,只要换成 -t rsa1 或 -t dsa 即可。
中间会询问你要放哪?请按enter使用默认设置(~/.ssh)
还会要你输入passphrase?
请不要输入任何东西,请按enter即可。假如你输入passphrase,你以后不用输入B电脑密码,但要输入passphrase取得放在A电脑的私钥,因为他会加密你的私钥
完成后,进入~/.ssh可以看到
id_rsa (私),
id_rsa.pub (公)
2014年09月21日 14点09分
2
level 12
2. 复制公钥到B电脑上
scp id_rsa.pub server_hostname:~/.ssh/
请把server_hostname改为B电脑的网址或ip。当然你也可以用其他方式复制过去,如ftp
3. 进入B电脑
ssh server_hostname
4. 把刚才复制进B电脑的公钥,放到预设放置公钥的文件
cat .ssh/id_rsa.pub >> .ssh/authorized_keys 即可
以后在A电脑ssh连线到B电脑就不再需要输入密码了。
id_rsa (私), id_rsa.pub (公)是一对的,只要两者有成对,两台机器即可连接,所以你可以复制到其他电脑使用,但千万记住,保留私钥,给其他电脑公钥。
2014年09月21日 14点09分
3