ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 功能

ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs

第一部分:使用ssh key 实现服务器间的免密码交互登陆

步骤1: 安装openssh-clients

[[email protected] ~]# yum install openssh-clients -y

步骤2: 创建用户,所有机器同时操作,可直接使用root

[[email protected] ~]# useradd test #如果使用root,这里跳过

[[email protected] ~]# echo "123456"|passwd --stdin test #如果使用root,这里跳过

步骤3: 用 ssh-key-gen 在本地主机上创建公钥和密钥

[[email protected] ~]# su - test #切换到新建的用户,如果直接使用root跳过这里

[[email protected] ~]$ ssh-keygen  #全部回车    

命令说明:

ssh-keygen:生成密钥对命令

-t:指定密钥对的密码加密类型(rsa,dsa两种)

-f:指定密钥对文件的生成路径包含文件名

-P(大写):指定密钥对的密码

步骤4:用 ssh-copy-id 把公钥复制到远程主机上

[[email protected] ~]$ ssh-copy-id -i .ssh/id_rsa.pub [email protected] #使用root用户名需改称root   #上面交互yes 然后输入密码

[[email protected] ~]$ ssh-copy-id -i .ssh/id_rsa.pub [email protected] #使用root用户名需改称root   #上面交互yes 然后输入密码

---ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys必须设置为600。

-i:指定公钥文件

[注: ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_key 上.]

[注: 你现在已经可以免密登录到了远程主机上,实现分发只要编辑脚本直接scp到目标服务器如下:]

---------------------------------------这是分割线---------------------------------------

第二部分:使用ssh key + rsync 实现批量管理

[[email protected] ~]# echo ‘test ALL=(ALL) NOPASSWD:/usr/bin/rsync‘ >>/etc/sudoers #让目标机器的test用户有执行rsync权限

1.批量分发文件示例脚本

#!/bin/bash

#脚本操作注意:1.将文件复制到随意目录然后进入目录操作2.文件不能使用绝对路径

#脚本原理:使用文件[$1]scp复制到用户的家目录然后使用rsync 同步到相应目录【$2】

. /etc/rc.d/init.d/functions #加入系统函数库

if [ $# -ne 2]

then

echo "请输入参数【本地文件][远程目录]"

exit 1

fi

for n in 233 #IP用空格隔开

do

scp -p22 -r $1 [email protected]$n:~ &>/dev/null #第一条是将某文件发送到目标机器的家目录

ssh -t [email protected]$n sudo rsync $1 $2 &>/dev/null #第二天是将某个文件分发到目标机器的具体位置

if [ $? -eq 0 ]

then

action "分发 $1 成功 " /bin/true

else

action "分发 $1 成功 " /bin/false

fi

done

---------------------------------------这是分割线---------------------------------------

2.批量执行命令示例脚本

#!/bin/bash

if [ $# -ne 1]

then

echo "请输入参数"

exit 1

fi

for n in 233

do

ssh -p22 [email protected]$n $1

done

---------------------------------------这是分割线---------------------------------------

第三部分:sshfs远程挂载+免密码登陆,实现远程挂载

什么是SSHFS:

SSHFS(Secure SHell FileSystem)是一个客户端,可以让我们通过 SSH 文件传输协议(SFTP)挂载远程的文件系统并且在本地机器上和远程的目录和文件进行交互。

SFTP 是一种通过 SSH 协议提供文件访问、文件传输和文件管理功能的安全文件传输协议。因为 SSH 在网络中从一台电脑到另一台电脑传输文件的时候使用数据加密通道,并且 SSHFS 内置在 FUSE(用户空间的文件系统)内核模块,允许任何非特权用户在不修改内核代码的情况下创建他们自己的文件系统。

使用 SSHFS 客户端,在本地 Linux 机器上挂载远程的 Linux 文件系统或者目录步骤。

[[email protected] ~]# yum install sshfs #只要在客户端安装即可

[[email protected] ~]# sshfs [email protected]:/opt /data

The authenticity of host ‘192.168.1.222 (192.168.1.222)‘ can‘t be established.

RSA key fingerprint is c1:7b:29:ca:33:f2:84:b8:c5:91:d6:a5:99:60:46:8e.

Are you sure you want to continue connecting (yes/no)? yes #第一部分介绍了免密码,如果操作过可以实现免密码交互

#卸载命令:fusermount -u /opt/s109

[[email protected] ~]#echo ‘/usr/bin/sshfs [email protected]:/opt /data‘ >>/etc/rc.loal

使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。 

ssh-keygen #创建公钥和密钥。 

ssh-copy-id #把本地主机的公钥复制到远程主机的authorized_keys文件上。

ssh-copy-id #也会给远程主机的用户主目录(home)和~/.ssh, 和

~/.ssh/authorized_keys #设置合适的权限。

时间: 2024-12-28 11:40:36

ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 功能的相关文章

ssh免密码登陆 - 服务器建立信任关系

假设机器A,B,C,要建立A为主,可以免密码直接ssh进入B,C.操作如下: 假设只用用户yimr建立信任,则使用yimr用户登陆主机A,执行如下操作: 产生公钥和私钥 ssh-keygen -t rsa 然后,在/home/用户/.ssh目录下,产生id_rsa, id_rsa.pub文件 将公钥复制到BC节点 scp .ssh/id_rsa.pub B:/home/用户名/.ssh/A.pub 进入BC节点,将公钥放在authorized_keys文件中 cat .ssh/A.pub >>

【CentOS】SSH实现免密码登录与文件分发

实验环境: 10.0.0.9:分发服务器(用于保存SSH生成的密钥和后期的文件的分发工作)10.0.0.10.10.0.0.11:节点服务器(用于保存SSH生成的公钥文件和接收分发服务器的文件) #分发服务器与节点服务器的系统版本与内核如下 [[email protected]/]# cat /etc/redhat-release CentOS release 5.8 (Final) [[email protected]/]# uname -a Linux C58 2.6.18-308.el5 

linux ssh key免密码分发

具体需求: 在同一用户hequan下 实现 A 从本地分发数据到B.过程中不需要密码提示 创建用户 #useradd hequan    # id hequan #echo 123456 | passwd  --stdin hequan # su - hequan RSA 既可以加密也,也可以数字签名 DSA     只能用于数字签名 开始创建密钥 [[email protected] ~]$ ssh-keygen -t dsa              默认RSA Generating pub

SSH KEY免密码验证分发、管理、备份

分发: A: ssh-keygen (以rsa来生成秘钥 或者加上 -t dsa 以dsa生成) 一路回车 ssh-copy-id -i.ssh/id_rsa.pub **@B ssh-copy-id -i.ssh/id_rsa.pub **@C 完成后可以验证下 ssh **@B free-m ssh **@C free-m 备份: Z: ssh-copy-id -i .ssh/id_rsa.pub [email protected] (自己给自己发 也可以将id_rsa.pub mv改名为a

SSH KEY免密码验证

For mac os install ssh-copy-id: brew install ssh-copy-id For Linux install ssh-copy-id yum install openssh* STEP: 1: 生成SSH公钥 [[email protected] ~]# ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/root/.

ssh 公钥免密码登陆

使用ssh公钥实现免密码登录 (2011-04-22 01:24:10) 转载▼ 标签: 杂谈 分类: Linux系统 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想A通过ssh免密码登录到B. 首先以root账户登陆为例. 1.在A机下生成公钥/私钥对. [[email protected] ~]# ssh-keygen -t rsa -P 

Linux中ssh的免密码登陆

原理: Hadoop的各个节点要实时的进行各种通信的,ssh就是能让各个节点免密码的相互访问相互通信. 操作步骤: 这里用的加密方式是非对称的加密方式,具体的操作是: <1>执行命令ssh-keygen –t rsa产生秘钥,产生的秘钥默认位于~/.ssh文件夹中. <2>把公钥拷贝给别人后,要重新命名为authorized_keys,这里直接模拟在~/.ssh文件夹中复制一份就可以了.cp id_rsa.pub authorized_keys.(注意路径) 验证:ssh loca

mac 免密码登陆服务器

由于mac os 是基于unix的操作系统终端和linux非常类似,所以不用借助类似于windows下的putty 和CRT工具即可远程登陆linux服务器,只需简单地3步即可免密码ssh远程. 1 :生成密钥.在mac终端下执行如下命令:ssh-keygen -t rsa默认都摁回车就行,不用做其他修改,执行完后会生成两个文件,一个公钥,一个私钥.ls ~/.ssh#id_rsa(私钥) id_rsa.pub(公钥) 2 :放置公钥到需要远程的服务器.scp ~/.ssh/id_rsa.pub

20170117老男孩linux实战运维培训-SSH KEY免密码验证分发、管理、备份实战讲解01

这一节说的SSH ssh制造私钥和公钥 私钥是钥匙 公钥是锁 把公钥分发到各个要登录的linux服务器上 #ssh-keygen -t dsa 使用这个命令后将会在本机生成一对密钥 私钥 id_dsa 公钥 id_dsa.pub 把公钥放到要登录的服务器上 用命令 #ssh-copy-id -i id_dsa.pub [email protected] 放到公钥放到服务器上后就要开始验证了 命令 #ssh [email protected] 其实也可以用其它命令登录如 #scp -P22 -r