最近要频繁通过ssh和scp等命令访问在阿里租用的Linux服务器,总是要输入密码不胜其烦,而且要通过脚本备份文件,脚本里写密码既麻烦也不安全,于是找了一个无需密码访问的方案,记录一下以备不时之需。
简单说就是通过密钥访问,具体过程如下。
- 假设两台机器,source和dest,source要通过ssh或者scp访问dest上的资源,dest是被访问者。
- 在source系统里运行如下命令
ssh-keygen -t rsa
默认会生成一对密钥,私钥存放在当前用户.ssh目录下的id_rsa文件中,公钥存放在id_rsa.pub文件中,密码可以为空。
- 用scp或者ftp命令把id_rsa.pub文件上传到dest系统。
- 登录dest系统,在当前用户命令行运行如下命令
cat id_rsa.pub >> ~/.ssh/authorized_keys
- 最后还可以运行下面这个命令来保护一下你的authorized_keys文件
chmod 700 ~/.ssh/authorized_keys
Source: https://blogs.oracle.com/jkini/entry/how_to_scp_scp_and