SSH 免密登录服务器
本文详解如何以多种方法实现ssh免密码登陆远程服务器
阅读须知:
1.以下方法操作时请不要随意切换目录。
2.xxx为私钥,xxx.pub是公钥(默认一般文件名为id_rsa和id_rsa.pub,可以在创建的时候自定义文件名)
3.如果是公司给你的公私钥对,你想免密登录公司服务器,你可以直接放到你的~/.ssh文件中,可跳过创建公私钥的步骤
方法一 :客户端生成RSA公钥和私钥
1. 本地创建公私钥
cd ~/.ssh # 在你的本地打开shell,进入到~/.ssh目录,然后看一下该目录下的文件
ls # 看一下文件,看看有没有已经生成过的公私钥对(xxx和xxx.pub)
分两种情况:
A.第一种情况你没有生成过公私钥对(生成过这个目录下会有类似xxx和xxx.pub 的文件)或者你生成过,但是你想创建一个新的公私钥对
ssh-keygen # 根据交互,输入你想要的名字(默认id_rsa),然后是密码,可以为空,生成公私钥对
ls # 这时候当前目录下会多了一对公私钥对
B.已经有一组公私钥对的可以不生成。
2.将自己的公钥xxx.pub上传到服务器~/.ssh文件中
# 如果服务器没有.ssh文件,终端登录到服务器,输入以下命令:
mkdir ~/.ssh
# 确定服务器有.ssh文件后输入(user是用户名,host是服务器ip,xxx.pub为你的公钥):
scp ~/.ssh/xxx.pub user@host:~/.ssh/xxx.pub
例子:scp ~/.ssh/yzy.pub developer@172.18.69.1:~/.ssh/yzy.pub
3.将服务器刚上传的公钥xxx.pub追加到 服务器的~/.ssh/authorized_keys 文件中
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
4.赋予文件权限
chmod 700 .ssh
chmod 600 authorized_keys
方法二 :用ssh-copy-id
1. 本地创建公私钥
cd ~/.ssh # 在你的本地打开shell,进入到~/.ssh目录,然后看一下该目录下的文件
ls # 看一下文件,看看有没有已经生成过的公私钥对(xxx和xxx.pub)
分两种情况:
A.第一种情况你没有生成过公私钥对(生成过这个目录下会有类似xxx和xxx.pub 的文件)或者你生成过,但是你想创建一个新的公私钥对
ssh-keygen # 根据交互,输入你想要的名字(默认id_rsa),然后是密码,可以为空,生成公私钥对
ls # 这时候当前目录下会多了一对公私钥对
B.已经有一组公私钥对的可以不生成。
2.使 ssh-copy-id 这个脚本工具把共钥复制到服务器上
# user是用户名,host是服务器地址,还要输入服务器密码
命令:ssh-copy-id -i xxx.pub user@host
例子:ssh-copy-id -i yzy.pub -p 50715 developer@56.45.12.89
3.windows和ubuntu系统可以免密登陆,mac系统免密登陆服务器还需要执行第三步调用ssh-add
# xxx为你的私钥文件
命令:ssh-add -K xxx
例如ssh-add -K yzy
方法三:用expect脚本
1.在某一目录下创建login.sh脚本(最好是用户目录下,即你一打开终端的位置,方便直接使用)
touch login.sh
2.修改下面代码用户名和密码后复制到login.sh文件中
#!/usr/bin/expect -f
# 设置命令第一个参数为host,也可以在脚本里写死
set host [lindex $argv 0]
# 设置用户名(zzz为你的用户名)
set user zzz
# 设置密码(xxx为你的密码)
set password xxx
# 设置超时时间
set timeout 5
spawn ssh $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof
3.启动脚本登录服务器:sh login.sh
SSH 免密登录服务器的更多相关文章
- 配置ssh免密登录服务器
当前服务器环境为ubantu 14.04 一.本地 ①生成id_rsa id_rsa.pub ssh-keygen -t rsa -C "xxxxx@xxxxx.com" ss ...
- win下使用git-bash工具进行ssh免密登录服务器
1.ssh-keygen.exe 生成公钥私钥(.pub) 2.ssh-agent.exe bash 指定工具 3.ssh-add.exe **** 添加私钥 OK
- linux服务器ssh免密登录
环境:两台服务器,Park01.Park02,配置ssh免密登录 在Park01执行:ssh-keygen 然后一直回车 生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下 然后 ...
- ssh免密登录linux服务器
Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...
- jsch配置sftp服务器ssh免密登录
前期对接了一个通过ssh免密登录的需求,是基于原先密码登录sftp服务器的代码上进行改造,实际上代码改动量非常少,趁此机会对自己整理的资料做一下总结. 1. 什么是SFTP SFTP是一个安全文件传送 ...
- 【Linux】两台服务器ssh免密登录
背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备: 服务器A linux ip: 192.168.1.1 服务器B linux ip: 192.168.1. ...
- 多台服务器-SSH免密登录设置
在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...
- linux(十)配置ssh免密登录实现
知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...
- linux上ssh免密登录原理及实现
因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...
随机推荐
- LeetCode 5024 除数博弈 --(简单博弈论)
今天在LeetCode的看到一到题目 这道题目有点坑,没有思路的话容易钻牛角. 刚刚开始时,我想的是直接用while循环来模拟计算,后来觉得这么好麻烦,也有复制的逻辑在里面.后面我推导了一下 以下是我 ...
- pycharm的使用(day03复习整理)
pycharm的使用 file --> settings --> editor -->general --> change font size .... file --> ...
- 设计模式C++描述----15.策略(Strategy)模式
一. 举例说明 以前做了一个程序,程序的功能是评价几种加密算法时间,程序的使用操作不怎么变,变的是选用各种算法. 结构如下: Algorithm:抽象类,提供算法的公共接口. RSA_Algorith ...
- Just For Test
Just For Test
- Android 设备唯一标识(多种实现方案)
前言 项目开发中,多少会遇到这种需求:获得设备唯一标识DeviceId,用于: 1.标识一个唯一的设备,做数据精准下发或者数据统计分析: 2.账号与设备绑定: 3..... 分析 这类文章,网上有许多 ...
- 百度NLP预训练模型ERNIE2.0最强实操课程来袭!【附教程】
2019年3月,百度正式发布NLP模型ERNIE,其在中文任务中全面超越BERT一度引发业界广泛关注和探讨.经过短短几个月时间,百度ERNIE再升级,发布持续学习的语义理解框架ERNIE 2.0,及基 ...
- wfi破解
破解wifi步骤 1.准备字典(常见字典 数字组合.常用姓氏.汉字姓名+年份组合等等) 2.无线网卡 3.查看附近WiFi信息 前言 : 随着无线网络走进我们的生活,在方便了我们的同时又产生了许多的安 ...
- docker安装mysql,tomcat,并且在tomcat可以访问到mysql
1.uname -an 查看当前系统版本 2.yum -y install docker 下载安装docker 3.service docker start 启动docker服务 4.docker ...
- Intellij IDEA配置JDK、Maven和Tomcat
一.配置JDK 1.File-->Project Structure 2.选择SDKs 3.点击+号添加自己本地jdk的安装目录,保存即可 二.配置Maven 1.File -> Othe ...
- 算法编程题积累(1)——网易笔试"工程师工作安排“问题
首先理解题目意思:每个人只能做工作序号表里的一件工作且两个人不能同时做一件工作.AC思路:采用暴力枚举每种可能的分配方案,子问题的解决逐步向上解决了母问题,最终原问题得解. 标程作者:NotDeep( ...