用户登录
实现远程SSH登录服务器
ssh,secure shell protocol
,以更加安全的方式连接远程服务器。
bash
# ssh 用户名@ip地址,如
ssh root@172.16.3.2
实现免密登录
- 在本地机器中生成公钥秘钥
在终端输入ssh-keygen
,一路enter,最后会在系统用户文件夹中生成:
密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。
id_rsa.pub
:公钥id_rsa
:秘钥
bash
# 进入.ssh目录
cd ~/.ssh
# 打开id_rsa.pub文件
vim id_rsa.pub
复制内容。
- 在服务器中安装公钥
bash
# 进入.ssh目录
cd ~/.ssh
# 打开authorized_keys文件
vim authorized_keys
将本地机器的公钥(id_rsa.pub的内容)添加到文件尾部。
- 修改服务器配置
- 禁止密码登录
编辑服务器端的 /etc/ssh/sshd_config
文件
bash
# 禁用密码登录
Host *
PasswordAuthentication no
- 保持连接,防止断掉
除此之外,还可以通过一些配置来更好地优化我们连接服务器时的体验。
我们可以通过 man ssh-config
,找到每一项的详细释义。
bash
# 编辑 ~/.ssh/config
Host *
ServerAliveInterval 30
TCPKeepAlive yes
ServerAliveCountMax 6
Compression yes
- 在本机机器进行登录
- 第一次登录会显示提示项,输入
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
...