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

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

一、在A生成密钥对

ssh-keygen -t rsa

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

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

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

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

三、登陆B

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

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

四、此时在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文件中便可。code

快捷方式部署

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

若是命令ssh-copy-id命令不存在,那是当前系统没有安装openssh-clients客户端组件,能够经过以下命令安装:持续集成

yum install openssh-clients*
相关文章
相关标签/搜索