mac 远程连接Linux服务器

打印 上一主题 下一主题

主题 891|帖子 891|积分 2673

mac 远程连接Linux服务器


留意:这是本人写的第二篇文章,难免堕落,接待大家批评指正

  

前言

本文是为后续的项目:C++实现从0到Reactor服务器做铺垫,完成基础环境的搭建

一、服务器的选择

没区别,哪家便宜买哪家,我买的是阿里云的,留意阿里云有一个新用户 99/年的活动,还有个三个月试用活动
二、mac 终端连接服务器

1. 终端选择

你可以选择可视化终端如 VNC、SecureCRT 等。我用的是 iTerm2。原因见iTerm2的feature
当然,iTerm2 的强大之处在于它的自身特性与扩展性,须要一些配置,详细可见我的另一篇文章:配置iTerm2
2. 连接远程服务器



  • 原生 ssh
  1. ssh [用户名]@[服务器IP或域名]
复制代码
之后,你大概须要输入暗码来完成认证过程。如果你希望避免每次连接都输入暗码,你可以使用SSH密钥认证。为此,你须要天生一个SSH密钥对,并将公钥复制到服务器上的 ~/.ssh/authorized_keys 文件中
天生SSH密钥对的命令:
  1. ssh-keygen -t rsa -b 4096
  2. #-t即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA:       
  3. #RSA:RSA加密算法是一种非对称加密算法,是由三个麻省理工的牛人弄出来的,RSA是他们三个人姓的开头首字母组合。
  4. #DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种。
  5. #ssh-keygen默认使用rsa密钥,所以不加-t rsa也行,如果你想生成dsa密钥,就需要加参数-t dsa。
  6. #-b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。
  7. #DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
复制代码
天生密钥后,将公钥内容(默认位于 ~/.ssh/id_rsa.pub)复制到服务器的 ~/.ssh/authorized_keys 文件中。可以使用 scp 命令复制公钥:
  1. scp ~/.ssh/id_rsa.pub [用户名]@[服务器IP或域名]:~/.ssh/authorized_keys
复制代码
这样就可以不输入暗码直接通过SSH连接到服务器


  • 利用 iterm2 profile

  • 创建脚本
    在目录:/usr/local/bin 下创建脚本 sshlogin.sh
  1. #!/usr/bin/expect
  2. # lindex $argv 0 端口号
  3. # [lindex $argv 1]:服务器用户名
  4. # [lindex $argv 2]:服务器IP地址
  5. # [lindex $argv 3]:服务器密码
  6. set timeout 30
  7. spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
  8. expect {
  9.         "(yes/no)?"
  10.         {send "yes\n";exp_continue}
  11.         "password:"
  12.         {send "[lindex $argv 3]\n"}
  13. }
  14. interact
复制代码
留意要修改权限
  1. chmod 777 sshlogin.sh
复制代码
可以先测试一下
  1. login.sh 22 root 110.110.110.110 '123456'
复制代码

  • 配置 iTerm2

    名字随便起,ssh端口默认22,具体可以查看服务器的 /etc/ssh/sshd_config 文件
    然后,就可以这样一键登陆服务器了

留意
用SSH登录到服务器的时候,由于默认的连接超时时间很短,经常须要断了后再连接,比较麻烦。可以通过设置linux ssh配置解决

  • 打开配置文件
  1. vim /etc/ssh/sshd_config
复制代码

  • 搜刮并修改(没有的话在末了添加):
  1. ClientAliveInterval 60
  2. ClientAliveCountMax 10
  3. #ClientAliveInterval  每隔多少秒给SSH客户端发送一次信号;
  4. #ClientAliveCountMax  超时重连的次数
复制代码

  • 重启ssh服务
  1. service sshd restart
复制代码
三、文件传输

使用 trzsz 在当地和服务器之间进行文件传输,参考这两篇文章
Macos iterm2快速上传下载文件到远程服务器
Trzsz-iTerm2 安装文档
四、VSCode连接服务器

为了写代码更加方便,我们可以使用 VSCode 连接服务器,参考视频
VSCode配置

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

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

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表