192.168.1.104作为客户机

192.168.1.103作为服务器

使用密钥登录

创建密钥对

在SSH客户机创建用户秘钥对

ssh-keygen -t rsa 之后全回车即可

将会在~/.ssh目录中生成两个文件:id_rsa(私钥) 与 id_rsa.pub(公钥)

上传公钥文件

当然,也可以直接将内容拷贝粘贴

scp ~/.ssh/id_rsa.pub chencye@192.168.1.103:~/.ssh/id_rsa.pub_192.168.1.104

导入公钥信息

在SSH服务器中导入公钥文本

在服务器中,目标用户(用来远程登录的用户)的公钥数据库位于~/.ssh/目录下,默认文件名是authorized_keys

注意修改authorized_keys权限

# 如果authorized_keys不存在,则创建它
touch ~/.ssh/authorized_keys
# 将上传的公钥添加到authorized_keys后面
cat ~/.ssh/id_rsa.pub_192.168.1.104 >> ~/.ssh/authorized_keys
# 修改authorized_keys权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
# 查看authorized_keys最后一行
tail -1 ~/.ssh/authorized_keys

使用密钥对登录

在客户机上,可以直接使用命令ssh 192.168.1.103进行登录,而不需要输入用户名与密码了

远程执行命令

http://www.cnblogs.com/ilfmonday/p/ShellRemote.html

简单命令

双引号,必须有。如果不加双引号,第二个命令在本地执行

分号,两个命令之间用分号隔开

ssh chencye@192.168.1.103 "cd ~ ; touch ssh.txt"

使用脚本执行多命令

#!/bin/bash
ssh chencye@192.168.1.103 > /dev/null 2>&1 << sshoff
cd ~
touch autossh.txt
exit
sshoff echo "done!"

远程执行的内容在<< sshoffsshoff之间,在远程机器上的操作就位于其中

注意的点

sshoff可以随便修改成其他形式

重定向目的在于不显示远程的输出了

在结束前,加exit退出远程节点

ssh密钥登录及远程执行命令的更多相关文章

  1. expect脚本远程登录、远程执行命令和脚本传参简单用法

    expect介绍: 最近想写一个自动化安装脚本,涉及到远程登录.分发文件包.远程执行命令等,其中少不了来回输入登录密码,交互式输入命令等,这样就大大降低了效率,那么有什么方法能解决呢?不妨试试expe ...

  2. SSH无密码登录及远程拷贝命令SCP的使用

    SSH无密码登录 1.生成密钥对(公钥和私钥) $ cd /home/cen/.ssh $ ssh-keygen -t rsa #生成密钥,使用rsa方式进行加密,四个回车 $ ssh-copy-id ...

  3. ssh 免交互登录 ,远程执行命令脚本。

    ##免交互SSH登录auto_login_ssh () {    expect -c "set timeout -1;                spawn -noecho ssh -o ...

  4. SSH远程执行命令环境变量问题

    SSH命令格式 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  5. 解决SSH远程执行命令找不到环境变量的问题

    通过SSH执行远程主机的命令或脚本时,经常会出现找不到自定义环境变量的问题.但是,如果通过SSH登录远程主机,然后再执行相同的命令或脚本,那么此时执行又是成功的.两种相似的方法,得到的结果却截然不同, ...

  6. 分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数

    expect脚本远程登录 yum install -y expect yum install -y tcl tclx tcl-devel 自动远程登录 #! /usr/bin/expect set h ...

  7. ssh 远程执行命令

    SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进 ...

  8. 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

    7月19日任务 20.27 分发系统介绍20.28 expect脚本远程登录20.29 expect脚本远程执行命令20.30 expect脚本传递参数 20.27 分发系统介绍 公司业务逐渐扩大时, ...

  9. [转帖]ssh 远程执行命令

    ssh 远程执行命令 https://www.cnblogs.com/youngerger/p/9104144.html SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是 ...

随机推荐

  1. 桥接 NAT HOST-ONLY

    无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host-Only 桥接 桥接网络是指本地物理网卡和虚拟网卡通 ...

  2. 新版iTunes如何设置手机铃声

    iTunes版本:12.5.1 系统版本:macOS Sierra 10.12 1.下载音乐,添加到iTunes. 现在下载音乐也不是一件容易的事,毕竟尊重版权. 这里Mac版与Windows版操作不 ...

  3. TFS 创建分支

    1 2 3 4

  4. Lua 变长参数(variable number of arguments)

    lua变长参数 function add ( ... ) for i, v in ipairs{...} do print(i, ' ', v) end end add(1, 2, 'sdf') lu ...

  5. Spring Boot 系列教程6-全局异常处理

    @ControllerAdvice源码 package org.springframework.web.bind.annotation; import java.lang.annotation.Ann ...

  6. ngnix配置文件

    使用nginx最大的好处就是负载均衡. #设定负载均衡的服务器列表    upstream service{        server 10.4.29.174:7477;    } server { ...

  7. Debian下VIM的安装和配置

    1.安装 apt-get install vim 2.配置 这是我的vim 配饰文件,基本的功能都能实现,在这里做一个备份,省的以后重装系统还要到处找这个配置文件(/etc/vim/vimrc) : ...

  8. 过滤器HttpModule

    1.建一个类库文件  FirsModule,实现IHttpModule接口,实现其中的两个方法,写一函数实现自己的代码逻辑,在Init方法中调用即可. // <summary> /// 第 ...

  9. JS中获取页面单选框radio和复选框checkbox中当前选中的值

    单选框:单选框的name值全部相同 页面有一组单选框的元素<td><input type="radio name="radioid">满意< ...

  10. 屏幕的尺寸(厘米)、屏幕分辨率(像素)、PPI它们之间是什么关系

    屏幕的尺寸(厘米).屏幕分辨率(像素).PPI它们之间是什么关系? 添加评论 分享 赞同2反对,不会显示你的姓名 知乎用户,数据ETL,UNITY3D 刘大侠.如果 赞同 以iphone4 为例,分辨 ...