首页 > 代码库 > SSH免密码登陆

SSH免密码登陆

前期准备

  • Server端需要安装并开启SSH服务
  • Client端需要支持ssh-keygen命令
  • 确认两台机器能够连接到Internet

1. 检测SSH安装是否成功

	ssh -V  

若是不成功显示版本信息则需要按照平台的不同进行相关的SSH的安装。

2. Client端产生密钥对

在Client端执行

	ssh-keygen 
  • 执行过程中,它先要求你确认保存公钥的位置(默认为:.ssh/id_rsa),然后它会让你重复输入一个密码两次,如果不想在使用公钥的时候输入密码,可以留空,执行完毕后,就会生成数据Client端的一对密钥。
  • 查看Client端的用户目录下~/.ssh,看有没有用 xxx_rsa 和 xxx_rsa.pub 来命名的一对文件,有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
  • 公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

** 3. 将Client生成的公钥复制到Server端**

  • 登陆到Server端查阅 ~/.ssh目录下是否有authorized_keys文件。
  • 若是没有创建它
	touch authorized_keys 
  • 将复制到的Client端公钥内容,粘贴至Server端刚才创建的 authorized_keys 文件中,保存文件。
  • 更改 authorized_keys 文件的权限
	chmod 600  authorized_keys

3. 验证无密码登陆

  • 在Client端命令行执行如下命令:
	ssh root@114.113.158.119
  • 直接登陆至Server端,表示验证成功。

4. 注意事项

  • ssh-keygen执行完毕后一定要检查下phenix用户家目录下.ssh目录中是否有一对密钥
  • 在将公钥粘贴至Server端后,一定要修改authorized_keys文件的权限为600,否则认证会失败
  • Server端需要开启SSH服务,不然客户端使用ssh连接不上

http://daodaoliang.com/blog/2015/03/19/%E4%BD%BF%E7%94%A8SSH%E5%85%8D%E5%AF%86%E7%A0%81%E7%99%BB%E9%99%86.html

 

SSH免密码登陆