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

参考网址1:http://blog.csdn.net/xyang81/article/details/51477925

参考网址2:http://blog.itpub.net/29500582/viewspace-1251139/

参考网址3:http://blog.csdn.net/huang_xw/article/details/8675132

参考网址4:http://www.2cto.com/os/201307/231392.html

 

1、方法:

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

 

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

1、在A生成密钥对

 

ssh-keygen -t rsa -P ""

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

rsa密钥对

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文件中即可。

2、可能碰到的问题

     一、B机器上 ~/.ssh/authorized_keys 此路径不仅目录.ssh (.ssh 是系统隐藏文件,linux下查看他用 ls -a )不存在,authorized_keys也不存在。那么就在~/ 目录下新建一个.ssh目录: 命令是 mkdir ~/.ssh   。 新建完.ssh目录,请使用 cd ~/.ssh 命令到.ssh目录,接着使用 touch authorized_keys 命令新建一个名为authorized_keys的文件。

      如果想要按1、方法: 配置过后,希望ssh公钥生效需满足至少下面两个条件:

1) .ssh目录的权限必须是700 
2) .ssh/authorized_keys文件权限必须是600

   配置过在服务器上,进入当前用户根目录下的隐藏目录.ssh命令:

         cd ~/.ssh

        通过ls -a  命令观察到。

 

 

附带 10个ssh 简单命令选项 地址:https://linux.cn/article-2933-1.html

 

 

   

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值