linux ssh key配置方法
转自:http://blog.csdn.net/zzk197/article/details/7915307
一:简洁的配置文件
[root@cisco ~]# vi /etc/ssh/sshd_config
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 600
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
RhostsAuthentication no
IgnoreRhosts yes
HostbasedAuthentication no
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
MaxStartups 20
Subsystem sftp /usr/libexec/openssh/sftp-server
~
二、使用公钥认证
1、原理:首先由用户生成一对密钥,然后将公钥保存在SSH服务器用户的目录下.ssh子目录中的authorized_key文件里(/root/.ssh/authorized_key).私钥保存在本地计算机.当用户登陆时,服务器检查authorized_key文件的公钥是否与用户的私钥对应,如果相符则允许登入,否则拒绝.由于私钥只有保存在用户的本地计算机中,因此入侵者就算得到用户口令,也不能登陆到服务器.
2、启用公钥认证
修改配置文件/etc/ssh/sshd_config
将"PasswordAuthentication yes"修改为"PasswordAuthentication no"
3、生成密钥
[root@rain ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
4d:dd:48:af:76:c2:ba:a8:bc:20:f3:28:1d:6a:28:53 root@rain.fish.com
4、将/root/.ssh/id_rsa.pub改名为/root/.ssh/authorized_keys
mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
5、将私钥id_rsa拷贝到客户机
A:linux下可以拷贝到/root/.ssh/就可以直接使用了。
三、SSH服务的配置
1、配置SSH服务的运行参数,是通过修改配置文件/etc/ssh/sshd_config实现的。
2、因为SSH服务使用默认的配置已经能够很好的工作,如果仅仅提供SSH服务不需要修改。这里只介绍一
些常用的选项。
#Port 22
定义了SSH服务监听的断口号,SSH服务默认使用的端口号是22
#Proctocol 2,1
定义了SSH服务器使用SSH协议的顺序。默认识先使用SSH2协议,如果不成功则使用SSH1协议,为了安全起
见,可以设置只使用SSH2协议。
#ListenAddress 0.0.0.0
定义SSH服务器帮定的IP地址,默认绑定服务器所有可用的IP地址.
#PermitRootLogin yes
定义是否允许管理员登陆
#PermitEmptyPasswords no
定义是否允许空密码登陆.
#PasswordAuthentication no
定义是否使用口令认证方式,如果准备使用公钥认证可以设置为no
四 :
吧 id_rsa ,拷到客户端,在服务器端吧id_rsa.pub 改名为authorized_keys
cat id_rsa.pub >> authorized_keys
linux ssh key配置方法的更多相关文章
- GitHub的SSH key配置以及常用的git命令介绍
一. GitHub的SSH key配置 (以windows为例,Mac iOS系统类似) SSH Key 是一种方法来确定受信任的计算机,从而实现免密码登录.Git是分布式的代码管理工具,远程的代码管 ...
- 我的Python成长之路---GitHub使用克隆GitHub(SSH key配置)
六.克隆GitHub仓库 1.创建仓库目录,目录位置没有要求,比如D:\learngit. 2.配置ssh(如果不配置会每次都输入用户名和密码) 使用TortoiseGit生成ssh-key:开始菜单 ...
- 【Python】Linux crontab定时任务配置方法(详解)
CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...
- Mac多SSH Key配置
多SSH key配置 工作的时候碰到SSH配置的问题,就是公司用的是gittea的仓库,而本人的github平常也要使用,这个时候就需要配置不同的SSH key了.将同一个公钥分配配置给github和 ...
- git ssh key配置&解决git每次输入密码
git ssh key配置&解决git每次输入密码:https://blog.csdn.net/qq_42817227/article/details/81415404
- 多个ssh key 配置多个网址
多个 ssh key 配置多个网站 一.生成ssh key ssh-keygen -t rsa -C "你的邮箱" -f ~/.ssh/id_rsa_one ssh-keygen ...
- linux免密登录ssh验证配置方法及常见错误解决
目标:从服务器A免密登录服务器B [配置方法] 1.在服务器A生成密钥文件,直接使用以下命令: ssh-keygen 中间遇到输入内容一路回车即可,完成后会在 ~/.ssh 目录下生成两个文件:id_ ...
- 多个 git ssh key 配置 Ubuntu os
1.生成ssh key: ssh-keygen -t rsa -C “email@sss.com” 此时,在~/.ssh/文件夹下会有两个文件, id_rsa 和 id_rsa.pub.分别保存ssh ...
- win7生成ssh key配置到gitlab
测试服务上使用ip访问gitlab,比如http://192.168.0.2/,创建用户并登陆后创建一个项目,比如git@gitlab.demo.com:demo/helloworld.git 如果想 ...
随机推荐
- 《oracle每天一练》Oracle之物化视图
相关帖子思考和跟踪 本文转自Ronger 物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实 ...
- 堆栈指针 ---delete 使用
对拥有堆中一个有效对象的地址的指针进行删除操作的结果,是将这个堆内存的状态从“使用中” 变为“可用”(此时的可用就是指可以调用内存)释放了,可以再次覆盖此处;; 对指针内存进行删除操作后,指针 ...
- WinAPI: ShellExecute - 打开外部程序或文件
WinAPI: ShellExecute - 打开外部程序或文件 ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; { ...
- progressBar走马灯设置
初始值Visible = false; 让progressBar1出现时: progressBar1.Visible = true; progressBar1.Style = ProgressBarS ...
- windows配置nginx实现负载均衡集群
windows配置nginx实现负载均衡集群2014-08-20 09:44:40 来源:www.abcde.cn 评论:0 点击:617 网上大部分关于nginx负载均衡集群的教程都是lin ...
- Common Knowledge_快速幂
问题 I: Common Knowledge 时间限制: 1 Sec 内存限制: 64 MB提交: 9 解决: 8[提交][状态][讨论版] 题目描述 Alice and Bob play som ...
- 在SpringMVC中获取request对象
1.注解法 @Autowired private HttpServletRequest request; 2. 在web.xml中配置一个监听 <listener> <listen ...
- Android 中沉浸式状态栏实现
Android 中沉浸式状态栏实现方式如下 计算状态栏高度及调用沉浸式状态栏的相关API方法 package com.example.status; import android.annotation ...
- ExpandableListView的用法
ExpandableListView组件是android中一个比较常用的组件,当点击一个父item的时候可以将它的子item显示出来,像手机QQ中的好友列表就是实现的类型效果.使用Expandable ...
- objective-c字符串笔记
字符串 // 字符串 分可变字符串和不可变字符串 // 不可变字符串的初始化方式 // NSString *string = [[NSString allo ...