目录
4.每次执行git指令使用私钥很麻烦,所以继续在config文件中配置,提供私钥路径
前言:
之前是用ssh直接连接服务器,但是当服务器刷机之后,服务器就连不上了,之后发现吧ssh文件夹下的内容删除就可以了,但是不知道ssh具体是怎么运行的,所以学习了一下,这里记录一下。
参考链接:OpenSSH核心操作 | GitHub SSH连接_哔哩哔哩_bilibili
一、密码连接
# ssh -p 端口号 用户名@ip地址
如果是第一次连接,会提示是否信任这台服务器,选择yes。
之后就可以在~/.ssh文件夹下的know_hosts文件里面看到如下,记录了服务器的ip地址和一些信息。当再次连接这个服务器的时候,就不会提示是否信任这个服务器,直接输入密码就可以连接了。
当服务器刷机的时候,虽然ip没有发生改变,但是服务器的其他信息发生改变,这时候ssh发现对不上,那就会连接失败。
二、密钥对连接
1.将公钥放在服务器
进入服务器的~/.ssh文件夹,之后进入authorized_keys文件,如果没有就自己创建一个,之后将自己本地电脑的公钥放在这个里面。
2.ssh连接
其中 -i 表示使用私钥连接,~/.ssh/nothing是私钥的位置
三、禁用密码
上述的,尽管使用ssh连接,但是ssh连接之后,还是需要输入密码,所以为了方便,要禁用密码。
1.进入服务器/etc/ssh文件夹
2.打开sshd_config文件,进行如下配置
3.有可能还需要更改其他文件夹
进入这两个文件夹,之后将这个全部变成no,没有这两个文件夹就算了。
4.重启ssh服务
sudo service ssh restart
四、config
每次都需要指定私钥,很麻烦,所以有下面的解决办法
1.进入~/.ssh文件夹下的config文件,没有就自己创建,进行如下配置,这个host的那个蛋随便命名,比如yzh,之后连接的时候就 ssh yzh 就可以连接了。
五.ssh与github
1.本地创建密钥对
2.将本地的公钥放在github上
3.使用本地的私钥克隆
4.每次执行git指令使用私钥很麻烦,所以继续在config文件中配置,提供私钥路径
六、总结
使用ssh访问服务器大概的流程是,ssh带着私钥去访问服务器,服务器遍历所有公钥与ssh私钥进行配对,之后服务器确认连接服务器的电脑的身份。