初始环境
- 一台新安装好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,改成yes:
PermitRootLogin yes - 可更改Port,默认值22
配置完毕后,需重启服务。工作中会同时配置好密钥登录,再重启服务。
sudo service ssh restart
设置密钥登录
- 需要密钥文件
id_rsa和id_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服务,包括安装openssh-server,允许root用户登录,以及启用密钥身份验证。步骤涵盖查看ssh服务状态,编辑sshd_config配置文件,生成和上传SSH密钥,以及关闭密码和root登录。
1030

被折叠的 条评论
为什么被折叠?



