ssh scp经过密钥无密码传送文件

前提两台服务器都是root用户登陆。bash

A为本地主机192.168.1.1
B为远程主机192.168.1.2服务器

在A运行如下建立公钥:ssh

# ssh-keygen -t rsa (连续三次回车,即在本地生成了私钥(id_rsa) 与公钥 (id_rsa.pub),不设置密码)
# scp /root/.ssh/id_rsa.pub root@192.168.1.2:/root/.ssh/id_rsa.pub (须要输入B服务器root密码)传公钥

在B操做:code

# touch /root/.ssh/authorized_keys (若是已经存在这个文件, 跳过这条)
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (将id_rsa.pub的内容追加到authorized_keys 中)

在A操做:class

#scp /data/test.jar root@192.168.1.2:/data/ (不须要密码便可传送文件)
#scp -r /data/lib/* root@192.168.1.2:/data/ (传送文件夹)
# ssh root@192.168.1.2 (不须要密码, 此时终端已经连到B了,后续操做都是针对B服的操做)