Skip to content
On this page

用户登录

实现远程SSH登录服务器

ssh,secure shell protocol,以更加安全的方式连接远程服务器。

bash
# ssh 用户名@ip地址,如
ssh root@172.16.3.2

实现免密登录

  1. 在本地机器中生成公钥秘钥

在终端输入ssh-keygen,一路enter,最后会在系统用户文件夹中生成:

密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。

  • id_rsa.pub:公钥
  • id_rsa:秘钥
bash
# 进入.ssh目录
cd ~/.ssh
# 打开id_rsa.pub文件
vim id_rsa.pub

复制内容。

  1. 在服务器中安装公钥
bash
# 进入.ssh目录
cd ~/.ssh
# 打开authorized_keys文件
vim authorized_keys

将本地机器的公钥(id_rsa.pub的内容)添加到文件尾部。

  1. 修改服务器配置
  • 禁止密码登录

编辑服务器端的 /etc/ssh/sshd_config文件

bash
# 禁用密码登录
Host *
  PasswordAuthentication no
  • 保持连接,防止断掉

除此之外,还可以通过一些配置来更好地优化我们连接服务器时的体验。

我们可以通过 man ssh-config,找到每一项的详细释义。

bash
# 编辑 ~/.ssh/config
Host *
	ServerAliveInterval 30
	TCPKeepAlive yes
	ServerAliveCountMax 6
	Compression yes
  1. 在本机机器进行登录
  • 第一次登录会显示提示项,输入yes
  • 在本地机器中如果之前配置过,需要使用 ssh-genkey -R host~/.ssh/known_hosts 文件中删除该host的信息,在下一次登录是会重新添加。

配置别名登录

在本地机器上配置 ssh-config,对自己管理的服务器起别名,可以更方便地登录多台云服务器,以下是关于 ssh-config 的配置文件:

  • /etc/ssh/ssh_config
  • ~/.ssh/config

配置格式如下:

bash
Host shanyue
	HostName 172.16.3.2
	User root
	Port 22
	...

MIT Licensed | Copyright © 2021 - 2022