SSH的密码登录

就是通过远程登录服务器,通过设置网络IP和端口(默认为22)进行登录,这种登录方法需要登录用户名和登录密码。
登录名就是在linux终端登录的用户名,不是root用户,切记!
是你登录linux让你输入密码的那个用户,例如XUser就是用户

有些人可能说我切到root用户不久行了吗? 不行

SSH的密钥登录

密钥就不用输入密码了。这个项目上很重要,既保证了安全性,开发有很方便。
他的原理就是需要生成RSA的非对称密钥,本地计算机保存私钥,远程计算机linux端放置公钥,切记!!!

步骤:

1. 在客户端操作的

1.1 用Xshell生成密钥

这个大家都会了,我不需要废话。继续往下:Xshell生成了密钥以后,会继续操作到以下步骤:

点击浏览->用户密钥->属性->公钥,出现以下界面:

 

这公钥里面ssh-rsa ********************这些就是要复制到远程服务器inux端的公钥信息。

1.2 用Git bash命令行生成秘钥:

1、打开git bash

2、执行生成公钥和私钥的命令:ssh-keygen -t rsa 并按回车3下(为什么按三下,是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,直接回车就好了)。会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub。(可执行start ~ 命令,生成的公私钥在 .ssh的文件夹里面)

3、执行查看公钥的命令:cat ~/.ssh/id_rsa.pub

代码命令:$ ssh-keygen -t rsa -C 生成秘钥

$ ssh-keygen -t rsa -C ‘邮箱地址@qq.com’
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):

代码命令:$ cat ~/.ssh/id_rsa.pub查看秘钥

$ cat ~/.ssh/id_rsa.pub

============以上是在客户端操作的,即Xshell windows端 =========

在linux端操作:

打开服务器linux端,添加刚才复制的公钥信息 到~/.ssh/authorized_keys里面,没有的新建就好了,这个会linux的都能完成。

修改文件权限

这是最为重要也是最容易忽略的,因为SSH是安全性很高的应用,因此对文件的权限依赖很高。所以修改权限:
/home/username/这两个目录的权限不能超过755,这里设为755
示例:sudo chmod 755 /home/<username>
.ssh/权限为700 别的组用户没有任何权限,只限当前用户
authorized_keys 权限设为600 也是限制为当前用户

再次从客户端连接,即可完成SSH的Xshell远程服务器登录。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐