Ubuntu16.04开启SSH服务远程登录 root登录 密钥登录

初始环境

  • 一台新安装好linux系统(以ubuntu16.04系统为例)的机器或者虚拟机
  • 此时本机ip无法被其他机器ping通,无法被ssh连接

安装ssh服务

  • 本机ssh连接其他机器,需安装openssh-client(ubuntu系统默认已安装)
  • 其他机器ssh连接本机,需安装openssh-server

1、查看该服务器是否安装ssh服务

dpkg -l | grep ssh
  • 执行该命令,会打印出openssh-client相关字样,说明本机系统已默认安装好了openssh-client

2、安装openssh-server

sudo apt-get install openssh-server
  • 执行该命令,安装完毕后会自动启动openssh-server服务
  • 启动命令是sudo service ssh start
  • 配置文件路径:/etc/ssh/sshd_config

编辑sshd_config设置root身份登录

sudo vim /etc/ssh/sshd_config
  • 找到PermitRootLogin,默认值是prohibit-password,改成yesPermitRootLogin yes
  • 可更改Port,默认值22

配置完毕后,需重启服务。工作中会同时配置好密钥登录,再重启服务。

sudo service ssh restart

设置密钥登录

  • 需要密钥文件id_rsaid_rsa.pub,工作中会保存自己的一份密钥,在各个机器上使用
  • 没有密钥可用ssh-keygen命令生成
  • id_rsa文件在其他机器的~/.ssh文件夹中,id_rsa.pub文件的内容需追加到本机~/.ssh文件夹中的authorized_keys文件里

1、创建密钥路径

  • 创建.ssh文件夹(服务配置文件里可指定密钥文件夹路径,默认在~/.ssh文件夹里,基本不会改动)
sudo mkdir ~/.ssh
  • 实际工作中,使用git等命令会用到该文件夹里的id_rsa文件,存在权限问题,索性直接更改该文件夹权限
sudo chmod 600 ~/.ssh

2、上传公钥

  • 复制id_rsa.pub的内容
  • ~/.ssh文件夹里创建authorized_keys文件
sudo vim ~/.ssh/authorized_keys
  • 将内容粘贴到authorized_keys
  • 如果还有其他机器使用的是不同的密钥,则在authorized_keys里追加其他机器的id_rsa.pub的内容

3、编辑sshd_config设置密钥登录

sudo vim /etc/ssh/sshd_config

参照以下,文件默认参数配置里就是如下

RSAAuthentication  yes
PubkeyAuthentication  yes

重启服务

sudo service ssh restart

4、附加 关闭密码登录和root登录

实际工作中,成功进行密钥登录成功后,一般会关掉密码登录和root登录,修改默认的22端口,按需选择。

sudo vim /etc/ssh/sshd_config

PasswordAuthentication no
PermitRootLogin no
Port 88888

你可能感兴趣的:(Ubuntu16.04开启SSH服务远程登录 root登录 密钥登录)