linux 主机的免密码登陆
2012年2月14日
1 条评论
假设有两台linux主机A和B,当A连接B时不需要输入密码,实现方法是在A主机上使用ssh-keygen命令生成一对公私钥,默认存储路径为~/.ssh/,同相对应的公钥内容追加到到B主机上~/.ssh/authorized_keys文件中即可。具体操作如下:
连接上A主机,使用如下命令:
ssh-keygen -t rsa
回车会让你输入存放公私钥的路径和名称,默认存放在~/.ssh/目录下
接下来输入一个口令,用来保护这个私钥,如果此处你输入了口令,则在连接你上传公钥的机器时会问你要这个密码的,如果口令为空,就可以直接连接上,没有口令很不安全的,一旦有人复制了你的passphrase,那么他就可以不用密码登录上了。
把公钥上传到B主机,命令如下:
cat 公钥文件 | ssh 用户@192.168.1.9 "cat - >> ~/.ssh/authorized_keys"
注意,如果不存在~/.ssh文件夹,需要手工创建,同时需要设置目录的访问权限。
至此,就完成免密码登陆,这时使用ssh,scp命令就不需要输入B主机的密码了。