Linux SSH免密码登录与拷贝文件(SCP)

在工作当中经常会登录远程服务器安装软件、部署应用或者拷贝文件到远程服务器上,都会提示输入密码才能完成相关的操作。工作中如果要频繁登录服务器和拷贝文件的情况下,经常输入密码难免会觉得麻烦,且效率低下。而且在持续集成的场景下,自动部署应用时是没有人工干预的,这种情况如果要输入密码才能拷贝文件至远程服务器,就不能实现自动部署的功能了。下面以A服务器与B服务器双向实现免密码登录和拷贝文件为例,介绍相关的配置。

A服务器地址:192.168.1.200,下面简称A

B服务器地址:192.168.1.201,下面简称B

1、在A生成密钥对

ssh-keygen -t rsa

执行上述命令,一路回车,会在当前登录用户的home目录下的.ssh目录下生成id_rsa和id_rsa.pub两个文件,分别代表密钥对的私钥和公钥。

2、拷贝A的公钥(id_rsa.pub)到B

这里拷贝到B的root用户home目录下为例:

scp /root/.ssh/id_rsa.pub root@192.168.1.200:/root

3、登录B

拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中

cd /root
cat id_rsa.pub >> .ssh/authorized_keys

4、此时在A中用SSH登录B或向B拷贝文件,将不需要密码

ssh root@192.168.1.201
scp abc.txt root@192.168.1.201:/root

实现B免密码登录A,操作方式是一样的,在B中用ssh-keygen生成ssh密钥对,将公钥拷贝到A中,A将B的公钥拷贝到.ssh目录下的authorized_keys文件中即可。

快捷方式

ssh-copy-id -i ~/.ssh/id_rsa.pub root@服务器地址

Linux SSH免密码登录与拷贝文件(SCP)

相关推荐