阿里云服务ECS的连接与配置(SSH,RSA公钥/私钥,zsh,SSH Shell)

本文旨在记录搭建阿里云的ECS服务器并对其进行连接配置的过程,以及其中查阅的一些资料。由于网上资料较杂,故在此稍作整理,供日后有需要时方便查阅。

以下列出运行环境与有关概念:

  • macOS 10.13.4
  • Ubuntu 16.04.4
  • shell/iterm2/zsh
  • SSH Shell

文章目录

    • @[TOC]
  • 1 Web远程连接
  • 2 SSH连接与RSA密钥设置
    • 2.1 定义
      • 2.1.1 SSH
      • 2.1.2 RSA
    • 2.2 使用
      • 2.2.1 登陆 root 用户,并输入密码
      • 2.2.2 修改 root 密码
      • 2.2.3 添加新用户
      • 2.2.4 添加sudo权限(/etc/sudoers)
      • 2.2.5 修改ssh配置文件(/etc/ssh/sshd_config)
      • 2.2.6 在本机 ~/.ssh 目录下,生成公钥与私钥: id_rsa.pub 和 id_rsa,并上传到远程主机
  • 3 配置 zsh
    • 3.1 安装 zsh
    • 3.2 安装 Git
    • 3.3 安装 Oh-My-Zsh
    • 3.4 安装 autojump,并增写配置
    • 3.5 安装 zsh-syntax-highlighting,并增写配置
    • 3.6 更改主题配置
    • 3.7 生效配置
  • 4 界面呈现
    • 4.1 通 iTerms2 访问远程主机
    • 4.2 通过 SSH Shell 访问远程主机
  • 5 参考资料

1 Web远程连接

  • 通过学生实名认证,获取非常优惠的云服务器服务,这里我选择了Ubuntu系统(Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-117-generic x86_64)),便于日后进行服务器的其他操作。
    阿里云服务ECS的连接与配置(SSH,RSA公钥/私钥,zsh,SSH Shell)_第1张图片

  • 通过右侧的远程连接可以进入网页端,直接在网页端对远端主机进行操作。
    阿里云服务ECS的连接与配置(SSH,RSA公钥/私钥,zsh,SSH Shell)_第2张图片

  • 但是这种方式不够方便且不便于管理,建议用下述SSH的方法进行服务器的连接。

2 SSH连接与RSA密钥设置

2.1 定义

2.1.1 SSH

Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. The best known example application is for remote login to computer systems by users. (from wikipedia)

  • Secure Shell (SSH)是一种加密网络协议,用于在非安全(无担保)的网络上安全地操作网络服务,常用于用户远程登录到计算机系统。

2.1.2 RSA

RSA (Rivest–Shamir–Adleman) is one of the first public-key cryptosystems and is widely used for secure data transmission. In such a cryptosystem, the encryption key is public and it is different from the decryption key which is kept secret (private). In RSA, this asymmetry is based on the practical difficulty of the factorization of the product of two large prime numbers, the “factoring problem”. (from wikipedia)

  • RSA (Rivest-Shamir-Adleman)是最早的公钥加密系统之一,广泛用于安全数据传输。在这种加密系统中,加密密钥是公开的,解密密钥是私密的。在RSA中,这种不对称是基于两大素数的乘积分解的实际困难,即“保理问题”。

2.2 使用

对于mac系统,可以直接通过terminal进行ssh连接,具体步骤如下:

2.2.1 登陆 root 用户,并输入密码

ssh [email protected]

2.2.2 修改 root 密码

passwd

2.2.3 添加新用户

# 一键式添加新用户,跟随指令选择即可
adduser zhoujl

2.2.4 添加sudo权限(/etc/sudoers)

# step 1: 打开sudoers文件
sudo vim /etc/sudoers

# step 2: 追加配置内容
zhoujl ALL=(ALL:ALL)  ALL

2.2.5 修改ssh配置文件(/etc/ssh/sshd_config)

# step 1: 备份并打开配置文件 sshd_config
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo vim /etc/ssh/sshd_config

# step 2: 修改配置内容并保存
PermitRootLogin	no			# 禁止root登入
PasswordAuthentication no	# 禁止密码认证
PermitEmptyPasswords no		# 禁止空密码登入
ServerKeyBits 1024			# 服务器密钥位数
StrictModes yes				# 严格匹配模式
RSAAuthentication yes		# 采用RSA认证
PubkeyAuthentication yes	# 采用公钥认证

# step 3: 登陆用户zhoujl,并切换到对应主目录 /home/zhoujl/ 下
su - zhoujl

2.2.6 在本机 ~/.ssh 目录下,生成公钥与私钥: id_rsa.pub 和 id_rsa,并上传到远程主机

# 若需重新生成密钥对
ssh-keygen

# 公钥上传远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

3 配置 zsh

3.1 安装 zsh

# 安装zsh
sudo apt-get install zsh
# 提示错误:Unable to locate package,则需要手动更新软件源
sudo apt-get update
# 安装完成之后,从shell切换为zsh
chsh -s /bin/zsh

3.2 安装 Git

sudo apt-get install git

3.3 安装 Oh-My-Zsh

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

3.4 安装 autojump,并增写配置

# 安装autojump
sudo apt-get install autojump
# 打开配置文件
vim .zshrc
# 末尾添加下述语句
. /usr/share/autojump/autojump.sh

3.5 安装 zsh-syntax-highlighting,并增写配置

# 安装zsh-syntax-highlighting
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
# 打开配置文件
vim .zshrc
# 添加配置1
plugins	= {
	git
	zsh-autosuggestions  // 此句为增写设置
}
# 添加配置2(文件末尾末尾)
source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

3.6 更改主题配置

# 打开配置文件
vim .zshrc
# 修改ZSH_THEME
ZSH_THEME="ys""agnoster"

3.7 生效配置

source ~/.zshrc

4 界面呈现

4.1 通 iTerms2 访问远程主机

  • 两种方式输入指令
# 1
ssh [email protected] 	// 用户名与本地主机相同,可简写
# 2
ssh 101.132.168.100      	// 简写形式
  • 界面如下
    阿里云服务ECS的连接与配置(SSH,RSA公钥/私钥,zsh,SSH Shell)_第3张图片

4.2 通过 SSH Shell 访问远程主机

  • 添加远程主机ip信息后选择登入,界面如下
    阿里云服务ECS的连接与配置(SSH,RSA公钥/私钥,zsh,SSH Shell)_第4张图片

  • 至此,Aliyun远程Ubuntu主机已与本地Mac主机成功连接!

5 参考资料

1 阿里云服务器 ECS Ubuntu系统安装配置
2 SSH原理与运用(一):远程登录
3 Ubuntu 16.04下安装zsh和oh-my-zsh

你可能感兴趣的:(云服务)