shell脚本中解决SCP命令需要输入密码的问题

使用密钥文件。

这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件。

在主机A上执行如下命令来生成配对密钥:

ssh-keygen -t rsa

遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:

/root/.ssh/id_rsa.pub

将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys,

到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.100.4):

scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

下面就可以用scp、ssh命令不需要密码来获取主机B的文件了

ssh 192.168.100.4 回车就不需要密码了。

注:其实id_rsa.pub内容添加到对方机器的authorized_keys中就行了

转载:http://blog.csdn.net/chris_playnow/article/details/22579139

时间: 2024-10-30 02:08:51

shell脚本中解决SCP命令需要输入密码的问题的相关文章

shell脚本中常用的命令:wget、curl、ss、lsof、nmap、nc、netstat、telnet

shell脚本中常用的命令:wget.curl.ss.lsof.nmap.nc.netstat.telnet 实验环境说明: (1)远程nginx服务器IP:192.169.5.136,nginx服务使用的端口是80: (2)本地ceshiji的IP: 192.169.5.121 在服务器本地监控服务端口常见命令:netstat.ss.lsof(简称三'S') 举例说明常用命令的选项: (1)[[email protected] ~]# netstat -lnp |grep nginx tcp

shell脚本中常用的命令

date +%Y%m%d%H%M%S -----打印年月日时分秒 echo -e "\033[32m color this word \033[0m" ----输出时添加颜色,32m是绿色,31m是红色 find / -name *.log -type f -size -1M -mtime -30 -perm 755 ----查找到小于1M的30天内修改了的 权限为755的log文件 ll | awk '{print $9}'|grep -v '^$'; -----打印第9列,去除空格

shell 脚本中后台执行命令 &

最近遇到一个问题, 执行脚本,脚本调用 一个命令,命令(deamon)是一个守护进程,为了调试,取消了守护进程模式.导致命令后边的其他命令(echo "456")都无法执行. deamon -d 是以守护进程模式启动:deamon -x 是以非守护进程模式启动(监控进程,死循环),stdout和stderr 关联到 控制终端. 脚本是 a.sh #!/bin/sh echo “123“ /usr/local/bin/deamon -d & >/dev/null 2>

except 脚本中执行scp 命令

Linux ssh下执行ssh命令远程登录其他机器,总是需要输入密码,如果人工去登录,输入密码那还可以,但是让程序自动化登录远程ssh服务器,并执行命令着就比较麻烦了 安装expect centos安装:  yum  install  expect -y #!/usr/bin/expect set timeout 120 spawn scp -r  /tmp/file.txt [email protected]:/mnt/ccc/ expect { "yes/no" {exec sle

shell脚本中执行mysql命令

1.mysql -hhostname -uuser -ppsword -e "mysql_cmd" 2. mysql -hhostname -uuser -ppsword << EOF    mysql_cmdEOF 如下简单例子: #!/bin/bashmysql -hservicedb-online -uroot -proot123 -e "use test;select * from tests;"  #方法1实例mysql -hservicedb

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

Linux中使用crontab命令定时执行shell脚本或其他Linux命令

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * * * /root/bin/backup.sh 这将会在每天早上5点运行 /root/bin/backup.sh Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-pat

shell脚本介绍,shell脚本结构和执行方式,date命令的用法,shell脚本中的变量简介

笔记内容: 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量 笔记日期:2017-11-21 20.1 shell脚本介绍 Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令

20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量

- 20.1 shell脚本介绍 - 20.2 shell脚本结构和执行 - 20.3 date命令用法 - 20.4 shell脚本中的变量 # 20.1 Shell脚本介绍 -  shell是一种脚本语言  关注aming_linux  blog.lishiming.net -  可以使用逻辑判断.循环等语法 -  可以自定义函数 -  shell是系统命令的集合 -  shell脚本可以实现自动化运维,能大大增加我们的运维效率 # 20.2 Shell脚本结构和执行 - 开头需要加#!/b