SSH

一、ssh的简述

安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议.
SSH是建立在应用层基础上的安全协议,SSH是较可靠,专业为远程登录会话和其他网络服务提供安全性的协议.利用SSH协议可以有效防止远程管理过程中的信息泄露问题.

二、ssh登录

2.1 基本

ssh远程登录服务器的指令为

ssh user@hostname

user:用户名
hostname:IP地址或域名
ssh第一次登录时会提示:Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入yes,回车后就该服务器的信息会记录本地termina中的~/.ssh/know_hosts文件中
输入密码后就能进入服务器了.
ssh的默认登录端口号为22,想登录某特定窗口:

ssh user@hostname -p 22

2.2 使用别名登录服务器

  1. 在本地创建~/.ssh/config文件

  2. 然后在文件中输入

    Host mysever # 别名
    HostName IP地址或域名
    User 用户名
  3. 再用ssh登录就可以直接

    ssh mysever # mysever自定义的别名

2.3 密钥登录

  1. 在本地创建密钥:ssh-keygen 一直回车,执行结束后,本地~/.ssh/目录下会多两个文件

    • id_rsa:私钥 # 不能透露
    • id_rsa.pub : 公钥
  2. 公钥的内容拷贝下来,复制到服务器中的~/.ssh/authorized_keys中(一般需要自己创建)

  3. 或者将第二步换成命令,一键添加服务器公钥 ssh-copy-id mysever #服务别名

2.4 本地执行服务器命令

当服务器过多的时候,可以在本地执行服务器命令,不需要进入服务运行后在退出
命令格式

ssh user@hostname command

示例

ssh mysever ls -a # 输出当前服务的文件名称
ssh mysever 'for((i = 0; i < 10; i ++)) do echo $i; done ' # 输出 0 1 2 3 4 5 6 7 8 9 

三、scp传文件

3.1 文件传输

ssh利用scp指令实现了本地和服务器之间的文件传输.
命令格式

scp source destionation # 将本地的文件source数据传入到destionation服务器下

示例

# 注意: mysever: 后面需要加**:**, 将本地的.vimrc和.tmux.config传输到mysever服务器上
scp ~/.vimrc ~/.tmux.config mysever: 

3.2 文件夹传输

命令格式

scp -r sourcemysever:destionation # 将本地source数据传入到服务器中destionation 都是绝对路径
scp -r mysever:source destionation  : # 注意: source后面有一个点.表示根目录 将服务器的source数据传入到本地中
scp -r ~tmp mysever:/home/acs_9367/ # 将tmp文件传输到服务器/home/acs_9367文件夹下
scp -r mysever:/home/acs_9367/temp . # 将服务器的temp文件传输到本地根目录下.

四、总结

这一部分让我们了解怎么用终端去连接一个服务器,并且相互进行传输,当你需要不止一台服务器,服务器的管理和文件传输就会变得越来越重要.