ssh 秘钥登录远程主机

6人阅读 评论(0) 收藏 举报
分类:

ssh 秘钥登录远程主机

1. 说明

1.1 场景: 在Windows下利用SecureCRT 登录阿里云服务器。
1.2 服务器:Ubuntu16.04,自带openssh-client软件,需要安装 openssh-server 软件。 可以查看版本
openssl version
OpenSSL 1.0.2g 1 Mar 2016
1.3 本博客不说明如何安装 openssl
1.4 利用 ssh 秘钥方式登录主机比密码方式登录是要安全的。

我们秘钥对方式登录,和我们日常生活的开锁比较类似。比如用锁锁住了自己的家,只有带钥匙的家人可以打开锁进入家。那么这里的“家”就相当于主机中自己账号的权利,“锁”相当于公钥,“钥匙”相当于私钥。“锁”只有一个,在“家”门上,“钥匙”在家人手里。也就是公钥(锁)在要登录的主机上面,私钥(钥匙)在家人手里。openssl 是用来检查你的钥匙和锁配对不配对的。

2. 配置说明

2.1 预备内容

你先得在主机上面有自己的“家”,也就是拥有自己的账号,使用useradd 指令创建。
我们假设你创建的用户为 test,个人目录为 /home/test
你要造一个地方来放你的锁,是 /home/test/.ssh  目录,权限 700(只能自己和神root读写,对吧)
下面创建一个文件 authorized_keys, 权限400(自己和神能读就好),后续在里面添加内容

2.2 产生秘钥对(置办锁和钥匙)

我们用RSA 加密方式来产生秘钥对,如下:
ssh-keygen -t rsa -b 2048   
(-b 指明了 key有多少bit)

会出现以下内容:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test/.ssh/id_rsa):   -- 回车使用括号内路径
Enter passphrase (empty for no passphrase):                     -- 直接回车,没有密码
Enter same passphrase again:
Your identification has been saved in /home/test/.ssh/id_rsa.
Your public key has been saved in /home/test/.ssh/id_rsa.pub.

我们将公钥(锁)放到2.1 创建的/home/test/.ssh/authorized_keys 中
记得将私钥(钥匙)保存好.

2.3 检查其余配置

2.3.1 sshd_config是一个服务端的配置文件(即本机开启sshd服务的相关配置),而ssh_config则是一个客户端的配置文件.

sshd_config中
PubkeyAuthentication yes  //将该项改为yes 

2.3.2 防火墙中端口22是否打开

重启ssh服务: sudo service sshd restart

至此,利用SecureCRT就可远程,以账户test登录了.

其他:ssh默认端口为22, 可以通过 /etc/ssh/sshd_config 中的Port项修改.
通过本地终端ssh指令登录后,几分钟不操作就自动断开了,你需要修改本地/home/你的本地账号/.ssh/conf(没有就新建), 添加内容 ServerAliveInterval 60 表示保持60分钟.

3. 参考内容

3.1 linux配置ssh公钥认证
3.2 Ubuntu ssh wiki
3.3 阿里云ECS每天一件事D1:配置SSH
3.4 阿里云服务器ESC环境(二) - SSH安全配置

查看评论

SSH密钥登录远程主机

本地生成密钥使用云主机时,出于安全性考虑,设置密钥直接ssh登录,不需要输入密码 本地生成密钥(public key 和 private key)。其中,public key存放在欲登录的服务器上...
  • linda_ds
  • linda_ds
  • 2017-07-08 10:37:07
  • 529

ssh 所选的用户密钥未在远程主机上注册

1. 问题 私钥和公钥是正确的,sshd服务是正常运行的,但是用xshell以密钥验证方式登录时会报错如下”所选的用户密钥未在远程主机上注册”,且提示需要输入密码。2. 解决用ssh -v debu...
  • u010472499
  • u010472499
  • 2017-01-22 16:19:19
  • 11321

无需密码通过ssh执行rsync来同步文件的方法

1.通过ssh执行rsync(需要密码) 通过ssh帐户(需要密码)执行rsync,将文件同步镜像到远程服务器。 下面这个例子将本地的/home/ramesh同步到远程目录/backup/rame...
  • benben0503
  • benben0503
  • 2016-06-16 16:15:24
  • 746

xshell密钥远程登录管理服务器

1.生成公钥(Pubic Key)与私钥(Private Key):Xshell自带有用户密钥生成向导,如下图所示:点击菜单栏的工具->新建用户密钥生成向导 生成密钥参数生成公钥对用户密钥信息点击下...
  • bjnihao
  • bjnihao
  • 2016-08-26 09:36:06
  • 3702

ssh普通用户(非root用户)的密钥登录

原文地址 ssh普通用户(非root用户)的密钥登录 这里以用户名 zhangsan 为例。 由于个人习惯问题,我把用户zhangsan的默认目录改了,在使用密钥登录的过程中,始终提示要输入用...
  • braveants
  • braveants
  • 2017-05-12 16:49:06
  • 2250

SSH秘钥对登录

这里的SSH秘钥对登录是在Linux中配置Hadoop时用到的,为了使各个服务器之间能够无密码的相互通信,但同样也可用在两台Linux之间的相互通信,也可用在服务器管理人员无密码远程登录服务器,这样做...
  • c913647576
  • c913647576
  • 2015-11-30 10:20:25
  • 1099

mac ssh 秘钥登录

sudo port install putty puttygen 你的证书.ppk -O private-openssh -o 你的证书.pem ssh -i 你的证书文件.pem 你的用户名...
  • a19860903
  • a19860903
  • 2016-10-21 10:33:32
  • 843

ssh免密码(秘钥)登录Linux服务器

转载:http://www.cnblogs.com/dudu/archive/2012/12/11/linux-ssh-without-password.html 在Terminal中用ssh...
  • huludan
  • huludan
  • 2016-10-21 01:05:28
  • 1681

Linux设置ssh免密钥登录

*****设置Ubuntu的root用户ssh登录                打开/etc/ssh/sshd_conf,设置PermitRootLogin yes 确认系统已经安装...
  • tanek2008
  • tanek2008
  • 2015-12-15 13:20:54
  • 1112
    个人资料
    持之以恒
    等级:
    访问量: 2276
    积分: 152
    排名: 125万+
    文章存档