用SSH KEY远程登录

 

1.Publick Key认证简介

Public Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接。Public Key认证的基础在于一对密钥,public key 和private key,public key对数据进行加密而且只能用于加密,private key只能对所匹配的public key加密过的数据进行解密。

我们把public key放在远程系统合适的位置,然后从本地开始进行ssh连接。此时,远程的sshd会产生一个随机数并用我们产生的public key进行加密后发给本地,本地会用private key进行解密并把这个随机数发回给远程系统。最后,远程系统的sshd会得出结论我们拥有匹配的private key允许我们登录。
 

制造密钥用putty套装的puttygen来产生密钥。密钥的类型建议选择SSH2 RSA,因为用的最为广泛,大多数server支持。密钥的位数选择1024对大多数用户已经足够,除非你觉得还是不安全。然后点击"Generator",此时密钥生成当然也有几个选项出现。如果你有不止一个key,你可以在“Key comment”作注释用于区别其他的key。 “Key passphrase“和“Confirm passphrase“用于对硬盘上的key进行加密,如过你自己一个人用机器觉得安全有保障的话可以让它们为空。然后保存两个key。不要关掉puttygen,它还有用呢。

输送public key到远程系统在远程系统自己的目录下建立目录".ssh",然后进入目录建立一个新文件authorized_keys ,然后把puttygen中"Public key for pasting into authorized_keys file"粘贴于authorized_keys这个文件中。然后执行以下命令:

chmod 700 $HOME/.ssh chmod 600

$HOME/.ssh/authorized_keys chmod g-w $HOME $HOME/.ssh

$HOME/.ssh/authorized_keys

测试执行putty,建立一个session命名为ssh,设定ip,协议设为ssh,Connection设定ssh的 auth中,private key的文件选择为puttygen产生的密钥。连接开始后,要求输入username,远程系统开始public key认证,如果密钥有passphrase 则需要输入,否则直接就登录了。

2.

如果是linux,也可以用openssh自带的密钥产生工具:ssh-keygen

ssh-keygen -t rsa  ???

ssh-keygen -d #生成公钥和私钥,此过程可以选择输入私钥密码

cat .ssh/id_dsa.pub | ssh user@remote “cat - >>.ssh/authorized_keys” #将公钥写到服务器

ssh-agent $SHELL

ssh-add

如果你设了私钥密码,此时输入你的私钥密码。

 

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2007-12/9552.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值