ubuntu ssh 免密码登陆

1 ssh 是什么?git

  ssh 是一种 加密协议,ssh 是两个加密的密码,一个是公钥一个是私钥,公钥加密的信息只有是要才能解密。ssh协议可用于服务之间的通讯。例如:登陆验证,git的受权等等算法

2 ssh 登陆服务器(Linux,ubuntu)ubuntu

  1) 使用 ssh-keygen 能够生成秘钥 ssh 加密算法有两种,一下的是生成密钥的方式:服务器

    ssh-keygen -t rsassh

    ssh-keygen -t dsa学习

  2) A电脑:使用命令在A电脑上生成密钥,会在目录(~/.ssh/)下生成两个文件,一个存放的是公钥(id_rsa.pub),一个是私钥(id_rsa),公钥是给别人用的,私钥是本身的加密

  3) B电脑:使用ssh 链接电脑Bspa

    ssh user@remote_hostrest

    提示输入密码code

  5) 在B电脑新建文件~/{user}/.ssh/authorized_keys文件,并把A电脑的id_rsa.pub拷贝到该文件中,也可使用命令在A电脑中操做:

  cat ~/.ssh/id_rsa.pub | ssh remoteuserName@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

     6) 在B电脑中修改配置文件/etc/ssh/sshd_conf ,把PubkeyAuthentication yes ,RSAAuthentication 前面的#号去掉 启用ssh 公钥验证,

        7) 简单的ssh配置就完了,而后重启ssh 服务 sudo service sshd restart,
     在A电脑中使用 ssh remoteUser@remote_host 就能够直接登陆了,不用输密码了。

  有时候咱们使用ssh,长时间的不操做远程电脑当前的链接就会断掉,这个时候还要再次链接,这对于开发人来讲非常不方便。这个时候就要修改配置了

  在远程电脑中修改 /etc/ssh/sshd_conf:
    ClientAliveInterval 60 //请求的时间间隔
    ClientAliveCountMax 3 //服务器请求的次数

  ClientAliveInterval 的默认值是0表示不向客户端发送请求,设置ClientAliveInterval 60是每隔一分钟向客服端发送送一次消息,这样就保证了长链接。ClientAliveCountMax 3表明

  服务器发送请求客户端没有响应的最大次数,若是没有响应的次数达到这个值就会自动断开。通常的只要不关闭窗口,客户端是响应的。  

3 ssh 别名登陆

有时候每次登陆远程服务器都要输入用户名和host,当管理多台的时候将会很麻烦,这个时候咱们须要管理咱们的会话,配置别名。在一台电脑上使用不一样的密钥登陆不一样的服务器

经过配置~/.ssh/config 文件能够方便的的登陆,若是没有该文件就本身建立一个。配置信息入下:

Host    别名
    HostName    主机名
    Port        端口
    User        用户名
    IdentityFile    本地密钥文件的路径(可选默认是~/.ssh/id_rsa.pub)

 

配置完成以后就但是使用别名免密码登陆了。
ssh 别名
以上是学习的心得,方便之后查询。

相关文章
相关标签/搜索