小记Linux上scp免密传输

废话不说,直接开搞

建立SSH的信任关系

以实现 A 免密码给 B scp传输文件为例说明,需要如下几个步骤:

1、生成 A的秘钥(私钥和公钥)

1)进入 A 的 /root/.ssh 目录

cd /root/.ssh/

2)执行如下命令,生成公钥和私钥(此时,一路回车干到底,生成rsa文件)

ssh-keygen -t rsa

其中,id_rsa 是私钥,id_rsa.pub 是公钥。

2、将 A 的 id_rsa.pub中的内容追加到 B 的authorized_keys 认证文件中

1)将 A的公钥(id_rsa.pub)信息,输出到临时认证文件 authorized_keys_AMG 中

cat id_rsa.pub >authorized_keys_AMG 

2)将 authorized_keys_AMG 文件 scp 到 /root/.ssh/ 目录下

scp authorized_keys_AMG root@B:/root/.ssh/

3)登录到B节点,进入 /root/.ssh目录

cd /root/.ssh/

4)将 A的公钥信息,追加到 B的认证文件(authorized_keys)中

cat authorized_keys_AMG >>authorized_keys

至此,A到 B 的信任关系建立好了,A用scp传输文件到 B,就不在需要输入密码验证了。

其他机器之间的信任关系,如有需要,可以依此方法进行配置,是不是贼简单啊!

注意: 授权列表authorized_keys可以追加多台电脑的公钥(id_rsa.pub), 让多台电脑免密码验证

普通用户实现免密传输

# user代表普通用户目录
cd /home/user/

执行如下命令,生成公钥和私钥(此时,一路回车干到底,生成rsa文件)

ssh-keygen -t rsa

然后执行以上步骤
注意:免登B授权 chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys


版权声明:本文为NICVSY原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。