Linux使用密钥登录SSH

Operating system: CentOS 6.5 64bit
SSH clients : Putty/Puttygen

1)安装SSH服务

#yum install -y openssh-server    //安装ssh服务
#/etc/init.d/sshd start    //启动ssh服务
#netstat -anpt | grep sshd    //查看是否成功启动

2)在服务器上生成密钥

#ssh-keygen -b 1024 -t rsa 在Linux上使用ssh-keygen命令生成密钥(-b bits  -t type/更多参数自行了解)
//Enter file in which to save key (存储密钥路径,默认即可)
//Enter passphrase  (密钥口令)

3)公钥和私钥

默认生成的密钥在用户宿主目录下 ~/.ssh/
会生成一个公钥(id_rsa.pub)和私钥(id_rsa)
将公钥内容写入~/.ssh/authorized_keys文件(创建此文件)

#cat id_rsa.pub > authorized_keys


4)配置/etc/ssh/sshd_config文件

配置前建议先备份

改完之后保存文件并重启SSH服务

//在不能确保证书登录一定成功时,请不要禁用密码验证方式登录,以免造成不必要的麻烦改动或添加一下内容

#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#vim /etc/ssh/sshd_config
Port    //SSH服务监听端口
Protocol 2    //SSH协议版本
PermitRootLogin yes    //允许root用户使用SSH登录
ServerKeyBits 1024    //密钥位数,根据生成密钥时指定的位数为准
PasswordAuthentication no    //是否使用密码认证方式(可在确保成功之后禁用密码认证方式登录
PermitEmptyPasswords no    //禁止空密码登录
RSAAuthtication yes    //启用RSA认证
PubkeyAuthentication yes    //启用公钥认证
AuthorzedKeysFile .ssh/authorized_keys    //公钥文件
StrictModes yes    //存放公钥文件宿主目录名称必须和登录用户名相同

#/etc/init.d/sshd restart


5)使用密钥登录

i>将id_rsa私钥下载到需要用来远程登录SSH服务的客户机上

ii>使用puttygen将私钥转换为ppk格式

putty登录工具不识别id_rsa,所以使用puttygen工具转换成为putty识别的密钥

将bits改成和ssh-keygen生成时一样(1024)

iii>Putty设置

会话->主机地址和端口

连接->SSH->认证->认证私钥文件->id_rsa.ppk(选择你转换后保存的私钥文件)

&Error

puttygen.exe载入文件时若出现不支持,请到官网下载最新版puttygen.exe


时间: 2024-10-23 21:36:15

Linux使用密钥登录SSH的相关文章

Linux使用密钥登录的设置

---恢复内容开始--- Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录. 1. 制作密钥对 在服务器上制作密钥对.首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令: [[email protected] ~]$ ssh-keygen <== 下面是相应的操作提示,以及密钥生成的位置都会告诉我们. Generating public/private rsa key pair. Enter file in which to save the key (

Linux使用密钥登录服务器

1.安装xshell,打开主界面,选择工具→新建用户密钥生成向导,如图所示 2.合适的密钥长度,点击下一步 3.在生成密钥,完成后点击系一步 4.自己修改一下密钥名称,密码可以不输入,下一步 5.然后点击完成即可. 6.在服务器端, vim /etc/ssh/sshd_config 修改对应的内容,假如没有则在最下面添加 PubkeyAuthentication  yes                      #启用PublicKey认证. AuthorizedKeysFile .ssh/a

linux系统设置密钥登录,禁用root帐号密码登录

一:生成密钥 shell点工具新建用户密钥生成 可看到密钥生成界面,选择RSA加密算法,密钥长度这里设置成2048. 密钥已经生成,选择下一步,Next. 输入密钥名称,以及给密钥加密的密码,继续下一步. 现在就可以看到公钥信息了,将公钥复制保存下来. 在root用户家目录下创建隐藏目录.ssh,并在此目录下创建以authorized_key文件,并将事先生成的公钥放入authorized_key中. mkdir -v ~/.ssh vim ~/.ssh/authorized_keys 修改权限

linux expect自动登录ssh,ftp

expect是一种能够按照脚本内容里面设定的方式与交互式程序进行“会话”的程序.根据脚本内容,Expect可以知道程序会提示或反馈什么内容以及 什么是正确的应答.它是一种可以提供“分支和嵌套结构”来引导程序流程的解释型脚本语言. shell功能很强大,但是不能实现有交互功能的多机器之前的操作,例如ssh和ftp.而expect可以帮助我们来实现. 一,安装expect yum install expect 其实expect根bash形势上差不多的. 二,实例 1,ssh实现自动登录,并停在登录服

[CentOS7][ssh][publickey][troubleshoot] 通过密钥登录ssh故障排查

通常情况下,我会使用非对称加密的方式来进行ssh的登录. 做法: 将公钥添加到 $HOME/.ssh/authorized_keys 文件中. 但是通常,会遇见各种各样的问题,导致失败.汇总如下: 0. 常用的排除手段,一般就是,双端开debug,clinet开启的方式如下,server还从来没与与遇见过需要开的情况,一般开client端就都搞定了. /home/tong [[email protected]] [10:05] > ssh -vvvvv [email protected] Ope

增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门,导致好几个有名的站点信息泄露,损失惨重. 如何知道自己的VPS账号正在遭受坏人的扫描和暴力破解呢?简单的方法就是查看日志:cat /var/log/auth.log.如何来增强VPS SSH账号的安全性呢?除了养成使用正规软件的好习惯外,还要从VPS本身来加强VPS SSH账号的安全性. 默认的S

CentOS6.5 下SSH密钥登录详解

一.密钥登录的必要性 一般地,密钥登录SSH比账户密码登录要安全,有时候公司需要给新来的同事配置服务器登录,一般都是直接配置密钥登录. 二.SSH密钥登录步骤 1.密钥的生成 一般有很多办法生成密钥.我们在此,使用正服务器上使用SSH-genkey来生成密钥,用客户端的puttygen来转换的办法. 如下图: 其中-t是表示加密方式.然后修改公钥名称为authorized_keys. 另外,要确保.ssh目录的权限为600,如不是,则使用chmod 600 .ssh 来设置.主要是为了防止他人在

Linux操作系统设置SSH及SFTP通过密钥登录

如果你使用过Linux操作系统的VPS或其他服务器,可能在登录时经常会提示你有多少次登录失败的记录. 这种登录失败的记录实际上也就是攻击者使用脚本自动扫描全网的IP然后进行筛选和测试,最终脚本会使用内置的密码组尝试登录开放22端口的Linux服务器. 当然如果登录成功那么意味着你的服务器就是被黑了,除了搜寻服务器中有价值的内容外就是充当肉鸡了. 为此我们可以关闭掉22端口使用密钥来进行登录,这样子可以瞬间把服务器的安全性提高好几个档次呢. 以下是基本的操作流程: 1.登录Linux服务器来生成公

Linux安全之SSH 密钥创建及密钥登录,禁止密码登陆

//参考原文链接 他们有图哦https://blog.csdn.net/nahancy/article/details/79059135 http://www.runoob.com/w3cnote/set-ssh-login-key.html 首先进入Linux系统的用户目录下的.ssh目录下,root用户是/root/.ssh,普通用户是/home/您的用户名/.ssh,我们以root用户为例: cd /root/.ssh 执行ssh-keygen命令创建密钥对, ssh-keygen -t