ssh连接服务器

  

1。概述

  

ssh是一种网络通信协议,用于计算机之间的加密登录。一般用ssh连接服务器有两种方式:密码认证与密钥认证。
密码认证就是通过传统的输入密码的方式登录,密钥认证就是把产生的公钥注册到服务器后,用私钥登录,这样就可以不用每次登录输入密码。特别适合作者这种脑残记不住密码的懒的人。

  

2。密码认证

  

密码认证登录直接在终端使用ssh命令即可:

  
 <代码类=" language-bash "> ssh username@xxx.xxx.xxx.xxx  
  

用户名为用户名,后面为ip。

  

3。密钥认证

  

(1)产生公钥与私钥

  

这一步使用ssh - keygen命令生成id_rsa与id_rsa . pub文件:

  
 <代码类=" language-bash "> ssh - keygen rsa - b 4096 - t - c“eamil” 
  

其中电子邮件为你的邮箱。
然后一直输入就好了(当然你也可以修改参数,比如生成的公钥与私钥的文件名等,后面要对应)。

  

(2)复制公钥到服务器

  
 <代码类=" language-bash "> cd ~/. ssh
  ssh-copy-id - id_rsa。酒吧username@xxx.xxx.xxx.xxx  
  

注意复制的是公钥(.pub结尾,不是私钥id_rsa)。

  

(3)修改本地私钥权限

  

 ssh连接服务器”> <br/>若出现以上情况,根据提示说是私钥的权限问题,修改为:</p>
  <pre> <代码类= chmod 600 id_rsa   

在windows上使用wsl的要注意,wsl不能直接修改文件权限,需要修改一下/etc/wsl.conf文件(没有的话就新建)。

  
 <代码类=" language-bash "> vim/etc/wsl.conf  
  

输入   

 <代码类="语言javascript ">(加载)
  启用=true
  选项="元数据,umask=22日fmask=11”
  mountFsTab=false  
  

退出wsl重启。

  

(4)连接

  
 <代码类=" language-bash "> ssh -我~/sh/id_rsa username@xxx.xxx.xxx.xxx  
  

如果上面配置没出现的话就可以连接上了。

  

(5)如果还是需要密码

  

先用密码认证的方式登录服务器,修改/etc/ssh/sshd_config(注意有一个d,/etc/ssh下有一个叫ssh_config的文件,不要ssh然后按选项卡....)

  
 <代码类=" language-bash "> vim/etc/ssh/sshd_config  
  

找到PasswordAuthentication这一行。
 ssh连接服务器”> <br/>修改为没有。<br/>然后重启服务:</p>
  <pre> <代码类=服务重新启动ssh   

或者   

 <代码类=" language-bash ">/etc/init。d/ssh重启 
  

重启服务后连接:

  
 <代码类=" language-bash "> ssh -我~/sh/id_rsa username@xxx.xxx.xxx.xxx  

ssh连接服务器