mac连接linux服务器

devtools/2025/3/15 3:31:06/

1、mac连接linux服务器

# ssh -p 22  root@192.168.1.15

2、mac指定密码连接linux服务器

(1) 先安装sshpass,下载后解压执行 ./configure && make && makeinstall 
https://sourceforge.net/projects/sshpass/
(2) 连接linux
# sshpass -p \/\\\[\!\'\@wen12\$ ssh -p 22 root@192.168.1.15  # 复杂密码需要加转义符,转义后的密码是 /\[!'@wen12$
(3) 把密码写入文件中通过-f指定文件登录
# cat pass.txt
/\[!'@wen12$
# sshpass -f pass.txt ssh -p 22 root@192.168.1.15   # pass.txt文件中的复杂密码无需转义

3、mac指定私钥和私钥密码短语连接linux服务器

(1) 服务器先生成密钥对并把生成的私钥传给mac机,为了方便查询可以把私钥重命名
# ssh-keygen -t rsa
# ssh-keygen -t rsa -P \/\\\[\!\'\@wen12\$     # 可以通过-P指定密码短语,特殊符号要转义,转义后密码/\[!’@wen12$ 
# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys
(2)mac指定私钥连接linux服务器
# ssh -p 22 -i /Users/wenqiang/Documents/myjumpserver/k8s-master-192.168.1.15-id_rsa root@192.168.1.15
(3) 如果生成私钥时指定了密码短语,ssh登录linux服务器时会每次都询问密码,可以先在mac上添加私钥密码短语,然后再指定私钥连接linux服务器就不会每次都询问私钥密码了
# ssh-add -K 私钥     # 执行该条命令会提示输入私钥密码并自动保存私钥密码到mac钥匙串中,如果更换了私钥只需要在执行改命令即可,执行ssh-add 后无需知道秘钥也可以直接登录linux服务器

4、mac通过命令终端编写连接linux服务器工具

wenqiang@wq password % cat ../myjumpserver 
#!/bin/bash
# 修改或添加服务器信息需要改三处: 1>服务器数组列表 2>函数中case条件  3>私钥或密码文件名称# 公司服务器数组
companyserverlist=(
gitlib_北区微软-192.168.1.111
esxi_腾讯云上海-192.168.1.112
)
# 个人服务器数组
personserverlist=(
etcd1_虚拟机-192.168.1.111
etcd2-192.168.1.112
etcd3-192.168.1.113
)
# 密码文件存放目录和私钥文件存放目录
passdir='/Users/wenqiang/Documents/myjumpserver/password'
privadir='/Users/wenqiang/Documents/myjumpserver/privatekey'
# 登录公司服务器函数
function companyserver(){select hosts in "${companyserverlist[@]}"docase ${hosts} in 'gitlib_北区微软-192.168.1.111')sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-}  # ${hosts#*-}表示取变量开头到第一个-之外内容;;'esxi_腾讯云上海-192.168.1.112')ssh -p 22 -i ${privadir}/${hosts} root@${hosts#*-};;*);;esacecho "---enter选择公司服务器---"done
}
# 登录个人服务器函数
function personserver(){select hosts in "${personserverlist[@]}"docase ${hosts} in'etcd1_虚拟机-192.168.1.111')sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-};;'etcd2-192.168.1.112')sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-};;'etcd3-192.168.1.113')sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-};;*);;esacecho "---enter选择个人服务器---"done}select values in '公司服务器' '个人服务器'
docase ${values} in'公司服务器')companyserver;;'个人服务器')personserver;;*);;esac
done# 把myjumpserver脚本加入环境变量,重启终端生效
wenqiang@wq ~ % cat ~/.zshrc 
MYJUMPSERVER="/Users/wenqiang/Documents/myjumpserver/"
export PATH=$PATH:$MYJUMPSERVER# 查看效果
wenqiang@wq ~ % myjumpserver 
1) 公司服务器
2) 个人服务器
#? 2
---按enter选择要登录的【个人服务器】---
1) k8s-master-192.168.1.15
2) k8s-node-192.168.1.16
#? 1
Last login: Sat Dec  2 20:06:22 2023 from 192.168.1.9
[root@k8s-master ~]#

http://www.ppmy.cn/devtools/155590.html

相关文章

17.2 图形绘制8

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.2.10 重绘 先看以下例子: 【例 17.28】【项目:code17-028】绘制填充矩形。 private void button1_Clic…

人工智能丨基于机器学习的视觉 CV 处理技术

从自动驾驶汽车到面部识别系统,CV无处不在,赋予计算机“看”的能力。无论是图像处理、模式识别,还是视频分析,机器学习都是推动这些技术进步的核心动力。这篇文章将深入探讨基于机器学习的计算机视觉处理技术,包括它的…

Mac Electron 应用签名(signature)和公证(notarization)

在MacOS 10.14.5之后,如果应用没有在苹果官方平台进行公证notarization(我们可以理解为安装包需要审核,来判断是否存在病毒),那么就不能被安装。当然现在很多人的解决方案都是使用sudo spctl --master-disable,取消验证模式&#…

电路研究9.2.7——合宙Air780EP中嵌入式 TCPIP 相关命令使用方法研究

这个因为在HTTP里面涉及到了TCPIP的通讯协议,所以我这里需要对本协议进行研究一下。 12.42 使用方法举例 TCP非透传应用1:模块做为客户端,单链接,发送数据 (事实上,TCP发送方式有快发和慢发两种&#xff0c…

Linux 进程控制

目录 一、进程创建 1.fork函数初识 二、进程终止 1.main函数的返回值 2.进程退出的三种情况 3.进程退出码 4.return、exit、_exit的区别 5、站在 OS 角度:理解进程终止 三、进程等待 1.我们先讲第二个问题,为什么要进程等待 2、如何进程等待 …

STM32 OLED屏配置

1.OLED简介 OLED(Organic Light Emitting Diode):有机发光二极管 OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点 0.96寸OLED模块:小巧玲珑、占用接口少、简单易用&a…

搭建Spring Boot开发环境

JDK&#xff08;1.8及以上版本&#xff09; Apache Maven 3.6.0 修改settings.xml 设置本地仓库位置 <localRepository>D:/repository</localRepository> 设置远程仓库镜像 <mirror><id>alimaven</id><name>aliyun maven</name&…

Golang 并发机制-2:Golang Goroutine 和竞争条件

在今天的软件开发中&#xff0c;我们正在使用并发的概念&#xff0c;它允许一次执行多个任务。在Go编程中&#xff0c;理解Go例程是至关重要的。本文试图详细解释什么是例程&#xff0c;它们有多轻&#xff0c;通过简单地使用“go”关键字创建它们&#xff0c;以及可能出现的竞…