1.连接服务器
这里用的是Windows本地来连接远程服务器,在其他环境下,连接服务器的操作几乎一致。
首先,不少人都知道Windows自带的cmd命令窗口,用过的人一般都觉得有点low,这里向大家推荐一款新式的Windows终端应用程序——Windows Terminal,可从Microsoft Store里直接搜索下载,也可访问:Windows Terminal下载 来获取,下面的一系列操作都将在其中运行。
ssh '用户名'@'云服务器的ip地址'
通过上面的操作,我们可以发现我们已经成功连接上了云服务器。
2.免密码登录
我们连接云服务器的时候,是使用密码连接的,这样其实是比较麻烦的,也是不安全的,所以我们需要设置ssh免密码登录云服务器。
(1)首先,我们输入:ssh-keygen 命令并回车,通过它来生成一个密钥
下面提示的是,是否确定在后面的位置来保存key,这里不需要修改,直接回车。
(2)下面提示你是否要为你的key添加一个密码,这里也不需要修改,直接回车。
(3)下面提示的是输入同样的密码,因为上面我们没有添加密码,所以可以直接回车。
(4)通过 ls 命令,直到 .ssh 文件夹
(5)通过 cd .ssh 命令,进入 .ssh 文件夹中,再通过 ls 命令,查看 .ssh 文件夹内容
密钥是成对出现的,私钥是私有的,不要给任何人看,公钥可以上传到任何地方,它们都是为了安全而存在的。
(6)查看私钥和公钥:cat id_rsa 或 cat id_rsa.pub
我这里只查看公钥,因为免密码登录需要公钥:
(7)复制公钥,将其复制到云服务器上:
连接云服务器,找到 .ssh 文件夹,进入 .ssh文件,将公钥复制到authorized_keys里并保存退出。
如果没有 .ssh 文件夹,可以手动创建:
mkdir -p ~/.ssh :确保服务器上有 .ssh 文件夹
chmod 700 ~/.ssh : 确保 .ssh 文件夹的权限是 700
touch ~/.ssh/authorized_keys : 确保存在 authorized_keys 文件
chmod 600 ~/.ssh/authorized_keys : 确保该文件的权限是 600
使用 vim 打开 ~/.ssh/authorized_keys 并将在 Windows 下复制的公钥内容粘贴到 authorized_keys,然后保存退出
(8)在Windows本地终端进行测试,我们会发现连接后直接进入云服务器:
3.关闭密码登录
我们已经可以在本地免密码登录时,为了防止别人使用密码登录,我们可以关闭密码登录。
在服务器上操作:
(1)通过 cd /etc/ssh 命令,进入ssh,找到sshd_config文件:
(2)修改sshd_config文件里的相关配置:
在底栏模式下,输入:/password 进行快速查找
(3)将下面的注释掉就OK了,关闭了密码登录
(4)下面的是另一种验证方式,这种方式我们用不到,而且开着的话,我们连接就会慢一点,所以我们将其改为no,修改后保存并退出。
(5)服务器配置好了,需使其生效,所以需要重启服务:
(6)重启后,一定不要急着退出服务器,万一配置出错,我们就再也进不来了。这时,Windows Terminal这个新式终端的强大之处就体现出来了,它可以另开一个窗口,也可以进行分屏,原本自带的cmd没有这个功能,我们在新创的窗口或者在新的分屏中进行连接测试,如果可以连接,则表示我们配置成功了。