终端连接服务器

Windows用户如过想要使用xshell可以跳过(xshell根方便,很多人用这个,可自行搜索学习)。Mac下没有xshell,所以我需要配置下面的内容。当然,你Windows想配置也可以,可以不用下载xshell,但是Windows的终端用起来体验不太好…

终端连接服务器原理

输入:

1
ssh 用户名@主机名 -port

例如,我上面给我的主机名取名为zyr,ip设置为静态,为192.168.64.103。没有端口,所以为:

1
ssh zyr@192.168.64.103

截屏2023-01-18 16.09.05

服务器端口就改变了,也可以执行操作了。

但是每次都需要输入这么多内容很麻烦。

配置ssh免密登陆

再打开一个终端(上面已经连接了服务器的终端可以继续保留)。即现在有两个终端,一个终端控制服务器,一个终端控制主机。

  1. 在主机输入命令生成一串密钥(如过之前已经生成过的可以跳过这一步):

    1
    ssh-keygen -t rsa -C "你的邮箱"

    输入之后,一直回车即可。

  2. 跳转路径查看它的公钥

    1
    2
    cd ~/.ssh
    vim id_rsa.pub

    查看内容复制就好了。

  3. 现在使用服务器终端配置公钥:

    利用服务器端端终端跳转路径:

    1
    2
    cd ~/.ssh
    vim authorized_keys

    如过没有authorized_keys文件,利用:touch authorized_keys创建,再编辑。

    然后将刚才复制的公钥粘贴在这里。保存退出。

  4. 配置IP端口号别名

    Windows的hosts文件应该在C:\Windows\System32\drivers\etc下(如果不在自行搜索)

    Mac:

    1
    sudo vim /etc/hosts

    添加内容:

    1
    IP-端口 别名

    例如:

    1
    192.168.64.103 server01
  1. 配置服务器别名

    在主机的终端中配置服务器的别名,之后登陆时就方便了。

    还是在~/.ssh目录下(不在就cd过去)

    创建config文件:touch config

    便携config文件:vim config

    内容:

    1
    2
    3
    4
    5
    Host *
    UseKeychain yes
    Host 服务器别名
    HostName 服务器端口号或IP
    User 用户名

    例如:

    我上面创建的服务器的IP为192.168.64.103(可在/etc/hosts中配置对应端口)。服务器的用户为zyr。

    1
    2
    3
    4
    5
    Host *
    UseKeychain yes
    Host server01
    HostName 192.168.64.103
    User zyr

    如果设置了端口别名,可以:

    1
    2
    3
    4
    5
    Host *
    UseKeychain yes
    Host server01
    HostName server01
    User zyr

    如果想配置多个服务器别名:

    1
    2
    3
    4
    5
    6
    7
    8
    Host *
    UseKeychain yes
    Host server01
    HostName server01
    User zyr
    Host server02
    HostName server02
    User zyr2

到这里就大功告成了!!!

登陆方法:

1
ssh 刚才设置的服务器别名

例如:

1
ssh server01

如何退出ssh

一下方法都可以(我比较喜欢用exit

  1. 直接关闭终端
  2. 执行logout命令
  3. 执行exit命令
  4. ctrl+D