Ubuntu16.04配置SSH远程免密登陆

什么是SSH?

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

1. 安装SSH

sudo apt-get install openssh-server

Ubuntu16.04配置SSH远程免密登陆
由于我的Ubuntu服务器已经安装好了SSH,所以提示我无需安装。安装好后,我们需要启动一下SSH服务。

2. 查看并启动SSH

sudo ps -e | grep ssh

其中ps -e表示查看当前的进程,-e表示显示全部,效果同-A
grep sshgrep match_pattern,是正则表达式,它会获取包含match_pattern的文本段
Ubuntu16.04配置SSH远程免密登陆
当有类似如上结果显示时,表示服务器的SSH服务正在健壮地运行中。如果没有则需要启动SSH服务,如下:

#启动ssh服务
sudo service ssh start
#或者
sudo /etc/init.d/ssh restart

3. 查看或修改SSH配置文件

SSH的配置文件一般在/etc/ssh/sshd_config

sudo vim /etc/ssh/sshd_config

老版本的话,可能需要做如下修改才行。如果有PermitRootLogin without-password,加一个”#”号,注释掉该行,并增加一句PermitRootLogin yes

4. 生成公私钥对

ssh-******  -t rsa -P ''
#-P表示密码password,-P '' 就表示空密码

该命令将在~/.ssh目录下面产生一个**id_rsa和一个公钥id_rsa.pub
windows下是当前的用户目录下,比如我的username为echo,所以在C:\Users\echo目录下
其中,公钥要复制到服务器上,这样才能在你登录时,进行公私钥配对

5. 将公钥复制到服务器

sudo vim ~/.ssh/authorized_keys
#如果没有权限则chmod 600 ~/.ssh/authorized_keys

使用vim编辑器打开.ssh目录下的authorized_keys,并且将本地的id_rsa.pub内容复制进去,如有多个公钥则换行即可,并使用wq命令保存退出。
Ubuntu16.04配置SSH远程免密登陆

写在最后

由于我使用的是阿里云服务器,在一段时间不操作后,连接就被断掉了……为了更好的使用,可以将断开时间设置为24h。详情见阿里云服务器ssh经常掉线的解决办法

至此就已经配置好了SSH,请愉快地登录吧!!!