看起来,我有私钥,它有我的公钥,并且保存在它的authorized_keys 文件中,然后我可以连接到它。因此,如果我想在没有密码的情况下连接到其他主机,我这里有公钥和私钥。我分发公钥并将其存储在对方的文件中,然后我可以无需密码进行连接。
如何连接到paramiko?应该是我有私钥,你们都有我的公钥。如果我想连接某台计算机,我可以直接将其私钥复制到程序中并连接。
每次连接都需要输入密码
linux密钥生成
上面链接的配置文件名称错误,应该是 vim /etc/ssh/sshd_config
操作指令流程:
[root@mcw1 ~]# ls .ssh/
ls: 无法访问.ssh/: 没有这样的文件或目录
[root@mcw1 ~]# ssh-keygen -t rsa
正在生成公钥/私钥 rsa 密钥对。
输入保存密钥的文件 (/root/.ssh/id_rsa):
已创建目录 '/root/.ssh'。
输入密码(空表示无密码)密码):
再次输入相同的密码:
您的身份信息已保存在 /root/.ssh/id_rsa 中。
您的公钥已保存在 /root/.ssh/id_www.sychzs.cn 中。
密钥指纹为:
SHA256:Od+6HjBBrHeUA5MP8rwckdakM89XrZNf0/kOjRPB4eI root@mcw1
密钥的随机图像为:
+---[RSA 2048]----+
| .+*.. |
| ..Bo= o o |
| *== .. = .|
| 。 =博。 o +o|
| oS+o E =oo|
| o= o *+|
|哦。 + +|
| o + |
| .+. .|
+----[SHA256]-----+
[root@mcw1 ~]# ls .ssh/
id_rsa id_www.sychzs.cn
[root@mcw1 ~]# ls -ld .ssh/
drwx------ 2 root root 7月30日38日17:50 .ssh/
[root@mcw1 ~]# cat .ssh/id_www.sychzs.cn >>.ssh/authorized_keys
[root@mcw1 ~]# chmod 600 .ssh/authorized_keys
参考:https://www.sychzs.cn/vinsent/1970780
[root@mcw1 ~]#猫3.sh #!/usr/bin/期望 生成 ssh-copy-id -i /root/.ssh/id_www.sychzs.cn 172.168.1.5 预计 { "是/否" {发送"是\n";exp_continu e } # 回答为您下载公钥的提示 "密码" {发送"123456\n" } # 提示输入密码 } 相互影响 期待 eof
[root@vinsent app]# cat ssh_www.sychzs.cn #!/bin/bash #------------------------------------------------------------ --# # 文件名:ssh_www.sychzs.cn # 修订版:1.1.0 # 日期: 2017-07-14 04:50:33 # 作者:文森特# 邮箱:hyb_admin@163.com # 网址:www.sychzs.cn # 说明:此脚本可以实现ssh密码-免登录, # 并且可以部署in批次,配置 #------------------------------------------------------------# #版权:2017文森特 # 许可证:GPL 2+ #------------------------------------------------------------# [! -f /root/.ssh/id_www.sychzs.cn ] && ssh-keygen -t rsa -P '' &>/dev/null # 密钥对 如果没有则创建密钥存在 同时读行;do ip=`回显$line | cut -d " " -f1` # 提取文件中的ip user_name=`echo $line | cut -d " " -f2` # 提取文件中的用户名 pass_word=`echo $line | cut -d " " -f3` # 从文件中提取密码 预计<<EOFspawn ssh-copy-id -i /root/.ssh/id_www.sychzs.cn $user_name@$ip # 将公钥复制到目标主机 预计 { "是/否" {发送"是\n";exp_continu e} #期望实现密码自动输入 "密码" {发送 "$pass_word\n"} } 期望 eof EOF done < /root/host_ip.txt # 读取存储ip的文件
host_ip.txt文件可以手动写入(当然,这不是自动化的)。您可以使用扫描工具扫描网络上的主机,然后使用awk等工具生成文件。文件示例,其中 IP 地址是登录用户名和密码:
这样就可以批量执行命令了:
su - mcw
mkdir ~/.ssh/
cd ~/.ssh/
ssh-keygen -t rsa #一直往下输入
cat id_ www.sychzs.cn >> 授权密钥# 将所有公钥收集到一个文件中并将其放在 .ssh
[root@mcw1 ~]$ vim 授权密钥 [root@mcw1 ~]$ 猫授权密钥 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJyw2D+DNS+JbwFUpD+Vy9h/D85quXYUZokNqsm5Uqq58LLteBnIo/1l5pE+oOtVaBFVjsMoGcLHXcNahJHHbRACYAXJpuY YOcw E0t++BAqsG0jsLrpovyl0BZmDDDtotwm73anKCzHduJadi71j2eJ7U6dXHiSmKotJEpfy5vDe3nabvcbfKvOWU+ozzcIxjNDJxCTkhQHvokO+ZetioqLeWe8E4zfcL5w43YxTQfOBP1IDTKNJZ mTCHJHhmAWm n5eaMn3OXSAZGqmjHC4+Ch0Mz9MMTW1r3xxz8hq6907PvA6PxMkyQaVzBdDOhN3n77canaRo2C1gkBkDWVGoW9 root@mcw2 [root@mcw1 ~]$ mv 授权密钥.ssh/ [root@mcw1 ~]$ cat .ssh/id_www.sychzs.cn >>.ssh/authorized_keys [root@mcw1 ~]$ cat .ssh/authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJyw2D+DNS+JbwFUpD+Vy9h/D85quXYUZokNqsm5Uqq58LLteBnIo/1l5pE+oOtVaBFVjsMoGcLHXcNahJHHbRACYAXJpuY YOcw E0t++BAqsG0jsLrpovyl0BZmDDDtotwm73anKCzHduJadi71j2eJ7U6dXHiSmKotJEpfy5vDe3nabvcbfKvOWU+ozzcIxjNDJxCTkhQHvokO+ZetioqLeWe8E4zfcL5w43YxTQfOBP1IDTKNJZ mTCHJHhmAWm n5eaMn3OXSAZGqmjHC4+Ch0Mz9MMTW1r3xxz8hq6907PvA6PxMkyQaVzBdDOhN3n77canaRo2C1gkBkDWVGoW9 root@mcw2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7dFtB9jFGSYHKbxrF3mwbBfP3Ao9ijw88w/9lP0/pclX+0To7XWcJlA7V0W5kyHvUBK1pk96ISaWlGxESbW1Csr2RJA 7/O/zmhVmjcizPmGg27MQZlBYVHV1jy5mJpEcXgleCOznsTp6jGodAlDrMKEEWeR/O7tE0Mzl1iPWxLagrz0UYhOGjfTR6gdZrTgKwDs1ha9aWp72vwsfcj/RT+Ci/qtp1aMVJAFV63FaO OOL 8pgjPb4DHbH03Z6PPsa3+1JCuUt2vv5/dVA1ieReNM2gpUHGarJ6LYmIfaacO+1tQ7E8qFn0HLxralwZI9d3XrcmqgTFCfyKpOR6vpNJl根@mcw1
验证后,只有mcw2的公钥被收集到mcw1中,mcw1没有密码无法登录mcw2。当公钥集也放在mcw2下时,mcw1无需密码即可登录mcw2
[root@mcw4 ~]$ ssh-keygen 生成public/private rsa 密钥对。 输入要保存密钥的文件 in (/root/.ssh/id_rsa): 创建目录 '/root/.ssh'。 输入密码(为空无密码): 再次输入相同的密码: 您的身份信息已保存在中 /root/.ssh/id_rsa。 您的 public 密钥已保存在中 /root/.ssh/id_www.sychzs.cn。 密钥指纹是: SHA256:mv6P+3Lj/ZbsRs2Q5iPvOtoaYg4CH5RZla7jvLHhvpM root@mcw4 关键'的随机艺术图像是: +---[RSA 2048]----+ | ....| | + . | | + . 。 | | 。 。 + | | 。 。 .S o + | |哦。哦。 + o| |哦*哦。 = o | | +EB.oo+。 * | | .B==B*++O+ | +----[SHA256]-----+ [root@mcw4 ~]$ [root@mcw4 ~]$ ssh-copy-id 10.0.0.135/usr/bin/ssh-copy-id: 信息: 要安装的密钥来源: "/root/.ssh/id_www.sychzs.cn" 主机'10.0.0.135 (10.0.0.135)'的真实性无法确定'。 ECDSA 密钥指纹是 SHA256:RkM1yEJzXaR8iURn53usKFVOqnHO4rqTVW+FVrx1VX4。 ECDSA 密钥指纹 is MD5:51:60:cc:9a:de:a3:16:c7:f9:93:a7:07: 65: 62:0f:61。 您确定要继续连接(是/否)吗?是 /usr/bin/ssh-copy-id:INFO:尝试使用 new 密钥在 中记录 ,以过滤 出任意已经安装的 /usr/bin/ssh-copy-id: INFO: 1 密钥仍需安装 -- 如果现在提示您是安装新键 root@10.0.0.135'密码: 添加的钥匙数量:1 现在尝试登录计算机,使用:"ssh '10.0.0.135'"并检查以确保仅添加了您想要的密钥。 [root@mcw4 ~]$ ssh 10.0.0.135 最后登录: 周日 1 月 2 08:59:36 2022 来自 10.0.0.1 [root@mcw5 ~]$
参考链接:
https://www.sychzs.cn/vinsent/1970780
https://www.sychzs.cn/panchong/p/6027138.html