SSH远程连接
Secure Shell 协议,安全壳协议。用于Linux之间加密登录一种协议
SSH两种验证机制
- 直接输入用户名和密码的方式
ssh username@ip
-
免密登录,直接登录,不需要输入用户名和密码
如果网络中Linux服务器比较多,需要记住每台服务器的密码也是比较痛苦的事。你无需知道另一台机器上的帐号和口令,也可以登录到远程主机。我们说的SSH免密登录,就说的是这种方式
-
ssh-keygen
生成公钥和私钥,生成的公钥和私钥在/root/.ssh目录下。id_rsa是私钥,id_rsa.pub是公钥
-
ssh-copy-id
ssh-copy-id root@192.168.1.1
将新生成的密钥(公钥)发送到指定服务器。在服务器的/root/.ssh/autorized_keys文件中。
-
ssh root@192.168.1.1
不需要输入密码了
-
Permission denied, please try again错误
👉👉来源文章传送门
使用ssh远程连接报错,权限被拒绝,请重试
问题原因:
服务端SSH 服务配置了禁止root用户登录策略。
解决方式:
查看 /etc/ssh/sshd_config 中是否包含类似如下配置:
PermitRootLogin no
参数说明:
1.未配置该参数,或者将参数值配置为 yes (默认情况),都允许 root 用户登录。只有显示的设置为 no 时,才会阻断root 用户登录。
该参数只会影响用户的 SSH 登录,不影响用户通过 管理终端 等其它方式登录系统。
2.如果需要修改相关策略配置,在继续之前建议进行文件备份。
3.使用 vi 等编辑器,将参数值设置为 yes,或者整个删除或注释(在最开头添加 # 号)整行配置。比如:
PermitRootLogin yes
或
# PermitRootLogin no
4.使用如下指令重启 SSH 服务:
service sshd restart