linux ssh key免密码分发

简介:

具体需求:

在同一用户hequan下 实现 A 从本地分发数据到B。过程中不需要密码提示

创建用户

#useradd hequan    # id hequan 

#echo 123456 | passwd  --stdin hequan

# su - hequan

RSA 既可以加密也,也可以数字签名

DSA     只能用于数字签名

开始创建密钥

[hequan@A ~]$ ssh-keygen -t dsa              默认RSA

Generating public/private dsa key pair.

Enter file in which to save the key (/home/hequan/.ssh/id_dsa):

Created directory '/home/hequan/.ssh'.

Enter passphrase (empty for no passphrase):

[hequan@A ~]$ ll  -l .ssh/

总用量 8

-rw------- 1 hequan hequan 668 3月  28 04:07 id_dsa              私钥   保留

-rw-r--r-- 1 hequan hequan 598 3月  28 04:07 id_dsa.pub         公钥   分发

[hequan@A ~]$ ll  -ld .ssh/

drwx------ 2 hequan hequan 4096 3月  28 04:07 .ssh/

分发公钥

格式:               ssh-copy-id [-i [identity_file]] [user@]machine

[hequan@A ~]$ ssh-copy-id  -i  .ssh/id_dsa.pub  hequan@192.168.10.11      分发

Are you sure you want to continue connecting (yes/no)? yes

.ssh/auhorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[hequan@B ~]$ ll  -l  .ssh/ 

-rw------- 1 hequan hequan 598 4月   4 04:49 authorized_keys

[hequan@A ~]$ ssh   hequan@192.168.10.11   不要密码

[hequan@B ~]$

测试发文件

[hequan@A ~]$ echo hequan > hequan.txt

[hequan@A ~]$ scp  hequan.txt  hequan@192.168.10.11:~

如果测试时,ssh特别慢,可以修改如下参数。

# vi /etc/ssh/sshd_config

UseDNS no

GSSAPIAuthentication no

# /etc/init.d/sshd restart

[hequan@A ~]$ scp -rp   /etc/  hequan@192.168.10.11:~          发送目录  到 ~

[hequan@A ~]$ scp -rp    hequan@192.168.10.11:~/etc/   /tmp/       把B的/etc/目录  拷到本机/tmp

免密码登陆小结:

     免密码验证是单向的

     基于用户的,最好不要跨用户

     连接慢 (可以看上面的解决办法)

     批量分发初始都需要输入一次密码,并且第一次连接要确认(expect)

 

[root@A ~]# ssh -v root@192.168.10.11                    -v 调试 整个连接过程

测试脚本

#!/bin/sh

if  [ $#  -ne  1 ]

        then

        echo   "/bin/sh  $0   arg1"

    exit  1

fi

for   n  in 11

do

        scp  -rp  $1 hequan@192.168.10.$n:~;

done

批量分发批量处理   权限问题

visudo

hequan  ALL=(ALL)       NOPASSWD:/bin/cp

# visudo -c

/etc/sudoers:解析正确

远程sudo

# Disable "ssh hostname sudo <cmd>", because it will show the passwor

d in clear.

#         You have to run "ssh -t hostname sudo <cmd>".

Defaults    requiretty                或者注释掉这一条

 $ scp      -rp   quan    hequan@192.168.10.11:~                    先把quan拷贝到家目录,

$ ssh    hequan@192.168.10.11 -t  sudo /bin/cp  ~/quan  /tmp          然后拷贝quan文件到 /tmp    最后是root权限


rsync

chmod u+s  `which rsync`             有root的权限   suid 

-rwsr-xr-x 1 root root 415000 10月 31 2013 /usr/bin/rsync

ssh    hequan@192.168.10.11    /usr/bin/rsync   ~ /yy    /tmp


小结:

     利用root

     利用visudo   推荐2

     利用rsync               











本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1762853,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
458 146
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
696 24
|
11月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3652 0
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
594 10
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
3607 1
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
1422 59
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
存储 网络安全
Curl error (60): SSL peer certificate or SSH remote key was not OK for https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/repodata/repomd.xml [SSL: no alternative certificate subject name matches target host name 'update.cs2c.com.cn']
【10月更文挑战第30天】在尝试从麒麟软件仓库(ks10-adv-os)下载元数据时,遇到 SSL 证书验证问题。错误提示为:`Curl error (60): SSL peer certificate or SSH remote key was not OK`。可能原因包括证书不被信任、证书与域名不匹配或网络问题。解决方法包括检查网络连接、导入 SSL 证书、禁用 SSL 证书验证(不推荐)、联系仓库管理员、检查系统时间和尝试其他镜像。
5058 1
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
776 5