s15day14 ssh秘钥远程连接
1 使用密钥登录
1.1 创建密钥对
1.2 上传公钥文件
1.3 导入公钥信息
1.4 使用密钥对登录
2 远程执行命令
2.1 简单命令
2.2 使用脚本执行多命令
以192.168.1.104作为客户机
以192.168.1.103作为服务器
1 使用密钥登录
1.1 创建密钥对
在SSH客户机创建用户秘钥对
ssh-keygen -t rsa 之后全回车即可
将会在~/.ssh目录中生成两个文件:id_rsa(私钥) 与 id_rsa.pub(公钥)
1.2 上传公钥文件
当然,也可以直接将内容拷贝粘贴
scp ~/.ssh/id_rsa.pub chencye@192.168.1.103:~/.ssh/id_rsa.pub_192.168.1.104
1.3 导入公钥信息
在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
1.4 使用密钥对登录
在客户机上,可以直接使用命令ssh 192.168.1.103进行登录,而不需要输入用户名与密码了
2 远程执行命令
2.1 简单命令
双引号,必须有。如果不加双引号,第二个命令在本地执行
分号,两个命令之间用分号隔开
ssh chencye@192.168.1.103 "cd ~ ; touch ssh.txt"
2.2 使用脚本执行多命令
#!/bin/bash
ssh chencye@192.168.1.103 > /dev/null 2>&1 << sshoff
cd ~
touch autossh.txt
exit
sshoff
echo "done!"
远程执行的内容在<< sshoff 至sshoff之间,在远程机器上的操作就位于其中
注意的点:sshoff可以随便修改成其他形式
重定向目的在于不显示远程的输出了
在结束前,加exit退出远程节点
s15day14 ssh秘钥远程连接的更多相关文章
- 使用 SSH 秘钥远程连接
团队开发中常用到 Git.SVN 等版本控制工具,可以大大提高开发效率. 就是将代码统一放到一个代码仓库中,方便管理. 为了安全起见,每次push.pull 代码的时候,都需要输入用户名.密码, 对于 ...
- Linux通过秘钥远程连接
1. 秘钥生成命令 ssh-keygen 执行完上述的命令就会在root目录下生成公钥跟私钥文件 /root/.ssh/.id_rsa 私钥 /root/.ssh/.id_rsa.pub 公钥 ...
- Git仓库由HTTPS切换成ssh秘钥连接
Git关联远程仓库可以使用https协议或者ssh协议. [特点/优缺点] ssh: 一般使用22端口: 通过先在本地生成SSH密钥对再把公钥上传到服务器: 速度较慢点 https: 一般使用443端 ...
- 通过ssh秘钥的方式可以连接上CE68交换机
结论:按照CE68交换机的用户手册中的指导,可以通过ssh 秘钥的方式连接上交换机. 1.先按照eNSP连接到网卡的方式,给CE68配置一个ip地址: 192.168.56.2 2.按照交换机的用户指 ...
- ssh、scp免秘钥远程执行命令:expect
首先安装expect # yum -y install expect 命令格式 # ./expect IP COMM #expect是独立的工具,所以不能用sh来执行 1 2 3 4 5 6 7 ...
- 在windows上使用ssh秘钥连接git服务器
git部署在centos7上 安装好git后,新建一个用户test(注意要加入git用户组)配置ssh秘钥登录,我的另一篇博客有写配置步骤 重点的地方是在windows系统上使用秘钥登录git服务器 ...
- 生成SSH秘钥连接github(详细教程)
第一步.首先,检查下自己之前有没有已经生成: 在开始菜单中打开git下的git bash(当然,在其他目录下打开git bash也是一样的): 然后执行 cd ~/.ssh 第二步.如果能进入到.ss ...
- git配置ssh秘钥(公钥以及私钥)linux
本文默认已经安装git,并有github或者gitlab账号 git在linux下安装参考:https://www.cnblogs.com/lz0925/p/10791147.html 在Linux中 ...
- WSL、Git on Windows 、Putty等的创建的rsa秘钥与连接linux的使用。
1. 在windows 上面可以使用多种方式创建公钥和私钥 这里从一开始说: 1.1 windows subsystem linux 的方式最简单了 cmd 命令行 下 进入 WSL 输入命令 bas ...
随机推荐
- SQL Server 存储过程进行分页查询
CREATE PROCEDURE prcPageResult -- 获得某一页的数据 -- @currPage INT = 1 , --当前页页码 (即Top currPage) @showColum ...
- 第3章 Java语言基础----声明成员变量,对变量进行赋值
声明成员变量,对变量进行赋值的正确语句,如下图所示:
- 指定的命名连接在配置中找不到、非计划用于 EntityClient 提供程序或者无效
以下内容来自互联网 (1)web: 需要在客户端配置文件的中增加connectionString节点,此节点描述了EntityClient的连接信息. 例如: 在web.config的中增加conne ...
- shell编程之服务脚本编写,文件锁以及信号捕获
shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以 ...
- javase swing
package com.test; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionE ...
- String 转Map(基于Guava类库)
字符串格式:key1=value1&key2=value2...... java代码 Map<String,String> targetOrderObj = Splitter.on ...
- Java学习笔记之I/O流(读取压缩文件以及压缩文件)
1.读取压缩文件:ZipInputStream 借助ZipFile类的getInputStream方法得到压缩文件的指定项的内容,然后传递给InputStreamReader类的构造方法,返回给Buf ...
- web工程中地址的写法
硬盘地址用\ 如:c:\\ 虚拟地址用 / /* 只要是写地址,建议大家最好以"/"开头,/到底代表什么呢? 1.看这个地址是给服务器用的,还是给浏览器用的. 2.如果给浏览器 ...
- ViewPager和Fragment组合 v4包下的页面切换
/* *主页面下 */ //-------------主页面下---------------------- package com.example.viewpagerfragment; import ...
- [转]new一个Object对象占用多少内存?
我们分解下ArrayList arr = new ArrayList();等同于ArrayList arr = null;//初始化arr = new ArrayList();//实例化这两个过程.初 ...