mac连接linux服务器

打印 上一主题 下一主题

主题 1940|帖子 1940|积分 5820

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1、mac连接linux服务器
  1. # ssh -p 22  root@192.168.1.15
复制代码
2、mac指定暗码连接linux服务器
  1. (1) 先安装sshpass,下载后解压执行 ./configure && make && makeinstall
  2. https://sourceforge.net/projects/sshpass/
  3. (2) 连接linux
  4. # sshpass -p \/\\\[\!\'\@wen12\$ ssh -p 22 root@192.168.1.15  # 复杂密码需要加转义符,转义后的密码是 /\[!'@wen12$
  5. (3) 把密码写入文件中通过-f指定文件登录
  6. # cat pass.txt
  7. /\[!'@wen12$
  8. # sshpass -f pass.txt ssh -p 22 root@192.168.1.15   # pass.txt文件中的复杂密码无需转义
复制代码
3、mac指定私钥和私钥暗码短语连接linux服务器
  1. (1) 服务器先生成密钥对并把生成的私钥传给mac机,为了方便查询可以把私钥重命名
  2. # ssh-keygen -t rsa
  3. # ssh-keygen -t rsa -P \/\\\[\!\'\@wen12\$     # 可以通过-P指定密码短语,特殊符号要转义,转义后密码/\[!’@wen12$
  4. # cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
  5. # chmod 600 ~/.ssh/authorized_keys
  6. (2)mac指定私钥连接linux服务器
  7. # ssh -p 22 -i /Users/wenqiang/Documents/myjumpserver/k8s-master-192.168.1.15-id_rsa root@192.168.1.15
  8. (3) 如果生成私钥时指定了密码短语,ssh登录linux服务器时会每次都询问密码,可以先在mac上添加私钥密码短语,然后再指定私钥连接linux服务器就不会每次都询问私钥密码了
  9. # ssh-add -K 私钥     # 执行该条命令会提示输入私钥密码并自动保存私钥密码到mac钥匙串中,如果更换了私钥只需要在执行改命令即可,执行ssh-add 后无需知道秘钥也可以直接登录linux服务器
复制代码
4、mac通过下令终端编写连接linux服务器工具
  1. wenqiang@wq password % cat ../myjumpserver
  2. #!/bin/bash
  3. # 修改或添加服务器信息需要改三处: 1>服务器数组列表 2>函数中case条件  3>私钥或密码文件名称
  4. # 公司服务器数组
  5. companyserverlist=(
  6. gitlib_北区微软-192.168.1.111
  7. esxi_腾讯云上海-192.168.1.112
  8. )
  9. # 个人服务器数组
  10. personserverlist=(
  11. etcd1_虚拟机-192.168.1.111
  12. etcd2-192.168.1.112
  13. etcd3-192.168.1.113
  14. )
  15. # 密码文件存放目录和私钥文件存放目录
  16. passdir='/Users/wenqiang/Documents/myjumpserver/password'
  17. privadir='/Users/wenqiang/Documents/myjumpserver/privatekey'
  18. # 登录公司服务器函数
  19. function companyserver(){
  20.   select hosts in "${companyserverlist[@]}"
  21.   do
  22.     case ${hosts} in
  23.       'gitlib_北区微软-192.168.1.111')
  24.         sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-}  # ${hosts#*-}表示取变量开头到第一个-之外内容
  25.         ;;
  26.       'esxi_腾讯云上海-192.168.1.112')
  27.         ssh -p 22 -i ${privadir}/${hosts} root@${hosts#*-}
  28.         ;;
  29.       *)
  30.         ;;
  31.     esac
  32.     echo "---enter选择公司服务器---"
  33.   done
  34. }
  35. # 登录个人服务器函数
  36. function personserver(){
  37.   select hosts in "${personserverlist[@]}"
  38.   do
  39.     case ${hosts} in
  40.       'etcd1_虚拟机-192.168.1.111')
  41.         sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-}
  42.         ;;
  43.       'etcd2-192.168.1.112')
  44.         sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-}
  45.         ;;
  46.       'etcd3-192.168.1.113')
  47.         sshpass -f ${passdir}/${hosts} ssh -p 22 root@${hosts#*-}
  48.         ;;
  49.       *)
  50.         ;;
  51.     esac
  52.     echo "---enter选择个人服务器---"
  53.   done
  54. }
  55. select values in '公司服务器' '个人服务器'
  56. do
  57.   case ${values} in
  58.     '公司服务器')
  59.       companyserver
  60.       ;;
  61.     '个人服务器')
  62.       personserver
  63.       ;;
  64.     *)
  65.       ;;
  66.   esac
  67. done
  68. # 把myjumpserver脚本加入环境变量,重启终端生效
  69. wenqiang@wq ~ % cat ~/.zshrc
  70. MYJUMPSERVER="/Users/wenqiang/Documents/myjumpserver/"
  71. export PATH=$PATH:$MYJUMPSERVER
  72. # 查看效果
  73. wenqiang@wq ~ % myjumpserver
  74. 1) 公司服务器
  75. 2) 个人服务器
  76. #? 2
  77. ---按enter选择要登录的【个人服务器】---
  78. 1) k8s-master-192.168.1.15
  79. 2) k8s-node-192.168.1.16
  80. #? 1
  81. Last login: Sat Dec  2 20:06:22 2023 from 192.168.1.9
  82. [root@k8s-master ~]#
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表