侧边栏壁纸
博主头像
七哥的技术博客

You got a dream, you gotta to protect it!

  • 累计撰写 60 篇文章
  • 累计创建 71 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

终端ssh免密码登录

admin
2024-12-30 / 0 评论 / 0 点赞 / 10 阅读 / 0 字

单台机器配置免密码登录

需要 A 通过 ssh 免密码登录到 B,假设 A、B 机器的账户都是 root

在 A 机器生成公私钥对(在用户的 home 目录下下生成 .ssh 目录,.ssh 下有 id_rsa 和 id_rsa.pub )

-P 表示密码,-P ‘’ 就表示空密码,也可以不用 -P 参数,这样就要三车回车,用 -P 就一次回车

ssh-keygen -t rsa -P ''

把 A 机下的 id_rsa.pub 导入到 B 机的 .ssh/authorized_keys 文件里,先使用 scp 将文件复制到 B 机下,

然后 cat 写入到对应文件,授权 authorized_keys 的权限要是 600

cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

处理完之后,现在 A 机器可以执行 ssh [email protected] 免密登录 B 机器了,当然 A、B 机的账户相同的话,

ssh 的时候可以不填写用户名;设置数量不多的话也可以使用 ssh-copy-id,但是需要输入远端机器的登录密码

ssh-copy-id -i .ssh/id_rsa.pub root@$host -p 9220

批量配置免密码登录

如跳板机的情况,需要设置多台服务器进行免密码登录(密码存储在 /home/user/.pass 文件)

提供密码文件是避免执行 ssh-copy-id 的时候手工输入,脚本参数需要传入一个地址配置文件(文件为机器地址列表)

for host in $(cat ${1})
do
    sshpass -f /home/user/.pass ssh-copy-id -o StrictHostKeyChecking=no $host -p 9220 -f
done

拷贝文件到远端机器

host=192.168.1.165
procname=XXX
pscp.pssh -h $host -x "-P 9220" $procname /tmp
pssh -O StrictHostKeyChecking=no -t 0 -h $host -x "-p 9220" "cp /tmp/$procname /opt/server/"
pssh -O StrictHostKeyChecking=no -t 0 -h $host -x "-p 9220" "rm -rf /tmp/$procname"
0

评论区