第一步:创建证书(公钥文件和私钥文件)
-
直接打开PowerShell(不用登录ssh),输入命令
查看.ssh文件ls
(如果为Mac用户,输入ls
仅显示一般文件,需要输入ls -a
才能显示隐藏文件),我们会发现存在文件.ssh
,如果没有.ssh
文件则需要通过命令mkdir .ssh
创建.ssh文件,如果存在.ssh
文件则忽略该操作。 -
首先使用命令
创建证书(公钥文件和私钥文件)cd .ssh
进入.ssh
路径下,使用命令ssh-keygen -t rsa -C learn -f learnfile
生成证书,之后所有提示输入内容直接回车跳过,最后通过ls
查看文件夹下的文件会发现多了learnfile
(私钥)和learnfile.pub
(公钥)两个文件。
第二步:将公钥文件(learnfile.pub)上传到服务器
- 仍保持在
.ssh
路径下,执行命令scp learnfile.pub learn@你的公网ip:.
(不要忘记冒号和点),然后按照提示输入learn用户的密码,等待进度达到百分之百即表示上传完成。 将公钥文件(learnfile.pub)上传到服务器
第三步:登录服务器进行设置
-
首先使用learn用户登录服务器,
ls
命令查看文件会发现刚才上传的learnfile.pub文件,然后使用ls -a
查看所有文件,发现没有.ssh
文件。 -
通过命令
mkdir .ssh
创建.ssh
文件夹,再次查看所有文件就会发现.ssh
文件了,然后通过命令cd .ssh
进入.ssh
文件路径下,通过命令touch authorized_keys
创建authorized_keys
(文件名称一定不也打错,图中是错误的)文件。 -
通过命令
登录服务器进行设置cd ..
返回.ssh的父文件夹,执行命令cat learnfile.pub >> ~/.ssh/authorized_keys
将learnfile.pub
写入authorized_keys
文件中,写完之后我们可以通过命令rm learnfile.pub
删除learnfile.pub
(公钥文件)。
第四步:修改证书文件夹的权限
-
通过命令
ls -al
查看文件的详细信息,会发现.ssh
文件的访问权限为drwxr-xr-x,其中d表示这是个文件夹,剩下的9个字符可以分成三组rwx/r-x/r-x,每三个一组。第一组表示对于该文件夹的所有者也就是learn,可读可写可执行;第二组表示对于adminuser用户组内所有的用户可读不可写可执行;第三组表示对于除了该文件夹的所有者和adminuser用户组内所有的用户的其他用户可读不可写可执行。 -
我们接下来的目的是修改
.ssh
文件夹和authorrized_keys
文件的访问权限仅对文件所有者有权限。 -
执行命令
修改证书文件夹的权限chmod 700 .ssh
修改.ssh文件夹的访问权限,通过命令cd .ssh
进入.ssh
文件路径下,再通过命令ls -al
查看文件的详细信息,执行命令chmod 600 authorrized_keys
修改authorrized_keys
文件的访问权限,最后退出服务器登录。
第五步:创建配置文件
-
退出登录后,首先我们可以通过命令
rm learnfile.pub
删除learnfile.pub
(公钥文件),然后创建配置文件config
文件。 -
Mac用户可以直接通过命令
config文件中写入的内容vim config
就可以创建并进入config
文件,并在config文件中写入以下内容。 -
Windows用户可以在桌面新建文本文档
创建配置文件config.txt
并写入以上内容。然后在PoverShell中,通过命令cd Desktop
进入到桌面路径下,ls
便会发现config.txt
文件,执行命令mv config.txt ~\.ssh
便可以将文件移动到.ssh
文件夹下。 -
Windows用户然后通过
创建配置文件cd ..
返回到父文件夹,再通过命令cd .ssh
进入.ssh
路径下,会发现存在文件config.txt
,再通过命令mv config.txt config
就可以将config.txt
文件保存为config
文件。 -
最后我们就直接可以通过命令
登录示例图ssh learn
来登录我们的远程服务器了,而且不需要输入密码。
网友评论