两台服务器间SSH或SCP实现无密码登录或文件传输


最近由于需要实现从一个客户端电脑定时远程上传图片到阿里云服务器的功能,需要实现SCP的免密码传输。所以查资料并做了一个记录,希望对大家有帮助。

步骤

1.Client上某用户执行ssh-keygen命令,生成建立安全信任关系的证书

ssh-keygen -b 1024 -t rsa

这里如果~/.ssh/id_rsa.pub 已经存在,说明以前已经生成过,可以直接跳过这步。

2.将公钥证书id_rsa.pub内容复制到Server某用户的~/.ssh/authorized_keys目录中

## 方法1
scp -p ~/.ssh/id_rsa.pub  [username]@[server_ip]:[user_home]/.ssh/authorized_keys
## 方法2
client: cat ~/.ssh/id_rsa.pub #然后复制它
server: vim ~/.ssh/authorized_keys #然后粘贴保存

3.使用方法

#已经不需要输入密码
#比如ssh登录:
<!--more-->
ssh [user_name]@[ip_address]
#再如scp传输文件:
scp [path_to_file] [user_name]@[ip_address]:[dir_path]