[置顶] Linux SSH免密码登录与拷贝文件(SCP)- 亲测
2016-11-09 22:11
330 查看
参考网址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
这里拷贝到B的root用户home目录下为例:
scp /root/.ssh/id_rsa.pub root@192.168.1.200:/root
3、登录B
拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中
4、此时在A中用SSH登录B或向B拷贝文件,将不需要密码
实现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
参考网址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两个文件,分别代表密钥对的私钥和公钥,如下图所示:
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
相关文章推荐
- Linux SSH免密码登录与拷贝文件(SCP)
- scp 从远程拷贝文件不需要密码
- 【Linux笔记】在后台执行scp,实现服务器间无密码文件拷贝。
- linux 无密码登录 scp文件
- Openwrt实现免密码ssh登录服务器,免密码拷贝文件
- linux ssh scp无密码登录
- 通过scp拷贝文件时无需交互输入密码
- 利用scp自动输入密码进行文件远程拷贝或备份
- 如何远程拷贝文件报登录失败: 未知的用户名或错误密码。
- 利用scp自动输入密码进行文件远程拷贝或备份
- Windows任务计划向远程服务器拷贝文件,报登录失败: 未知的用户名或错误密码
- 利用scp自动输入密码进行文件远程拷贝或备份
- linux下scp远程拷贝文件无需输入密码工具之expect
- 利用scp自动输入密码进行文件远程拷贝或备份
- Linux SSH远程文件/目录传输命令scp
- Linux SSH远程文件/目录传输命令scp
- C# Winform 拷贝共享文件夹文件包含输入共享用户及密码
- 在Linux下远程使用scp拷贝文件
- 实现scp在linux或unix之间传输文件无需密码---如何配置scp文件传输
- SCP自动拷贝文件