MAC OSX使用公钥方式登录Linux服务器并进行安全加固
登录Linux服务器的方式一般是使用ssh,直接使用密码登录既要记忆密码在输入过程中又有安全风险。所以本文将提供一个使用公钥登录的方式来解决输入密码的问题。
首先在mac上生成一个私钥、公钥对
首先,请打开终端。可以使用spotlight直接搜索term,就可以点击应用打开。

打开终端后输入下面的命令:
$ ssh-keygen -t rsa -b 4096 -C 'test'
# 其中 -t表示加密类型,这里使用rsa
# -b表示加密位数
# -C表示备注信息
一路回车下去可以生成两个文件,id_rsa和id_rsa.pub文件。其中id_rsa为私钥文件,需要保存好,被别人获取的话别人也一样可以登录你的服务器。
当然在生成私钥的过程中,也可以对私钥增加密码,那么每次使用私钥登录时都需要输入密码。
本机放置私钥位置
将私钥放到本地home目录的.ssh目录下。若没有.ssh目录,则新建一个目录。
$ mkdir -p /home/test/.ssh
$ cp id_rsa /home/test/.ssh
将公钥上传到Linux服务器
首先要确认你要使用公钥登录使用的用户,直接用该用户使用密码登录。
然后新建.ssh和authorized_keys,给authorized_keys文件600权限,给.ssh文件夹700权限
[test@vps ~]$ mkdir -p /home/camash/.ssh
[test@vps ~]$ cd .ssh
[test@vps .ssh]$ touch authorized_keys
[test@vps .ssh]$ chmod 600 authorized_keys
[test@vps .ssh]$ cd ..
[test@vps ~]$ chmod 700 .ssh/
然后在本地mac端口上新开一个term页签,使用scp将本地的公钥文件id_rsa.pub传送到Linux服务器上。
$ scp id_rsa.pub test@vps:.ssh/
使用cat命令将公钥追加到authorized_keys文件
[test@vps .ssh]$ cat id_rsa.pub >> authorized_keys
修改sshd_config的配置参数
在Linux服务器上,使用root用户修改/etc/sshd_config文件的配置参数。使用以下参数打开公钥登录。
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
为了增加Linux服务器的安全强度,可以设置以下几个参数。不过请在确认使用公钥免密登录可行后再修改以下的参数。
PermitEmptyPasswords no
PasswordAuthentication no
PermitRootLogin no
Port 12222
配置完成后,就可在Mac上进行登录测试。
直接使用以下的命令,若一切顺利,不使用密码便可以连接到目标Linux服务器。
$ ssh test@vps
更近一步,若不想输入用户或者主机名,还可以使用config给这个访问增加一个别名
首先,在.ssh下增加一个文件config
$ touch config
在config中按以下内容添加服务器的别名和登录信息。
$ cat config
Host myvps #别名
HostName vps
Port 12222
User test
IdentityFile ~/.ssh/id_rsa
若要增加新的服务器信息,直接在config另起一段增加以上信息即可。
文件建立完成之后,就可以使用别名的登录服务器。
$ ssh myvps
Last login: Sun Jan 17 22:31:31 2016 from xxx.xx.xx.xxxx
[test@vps ~]$
MAC OSX使用公钥方式登录Linux服务器并进行安全加固的更多相关文章
- Mac Item2 SSH免密登录Linux 服务器的两种方式
转自http://blog.csdn.net/jobschen/article/details/52823980 mac ssh登录linux服务器 的两种方式: 个人推荐第二种,zsh方式,只需要把 ...
- 实现利用公钥私钥免密码登录Linux服务器
原理 客户端生成公钥私钥,把公钥拷贝给linux服务器,用自己的私钥连接服务器.实现如下: 如果是两台Linux服用器A和B,A来实现免密码登录B A执行ssh-keygen -t rsa 就会在/r ...
- Mac使用秘钥登录Linux服务器
简介 在 Mac 上配置 SSH 密钥登录远程的 Linux 相关配置 1.创建本地的 SSH 密钥 本地 生成秘钥对 ssh-keygen -t rsa -C 'youxiang@aliyun.co ...
- 使用密钥验证方式登录linux系统
1.使用PuTTY工具PuTTYgen生成密钥对,打开PuTTYgen,点击Generate生成公钥(生成过程动动鼠标会提升进度哦). 2.将公钥(蓝色的是私钥)放到服务器上去: -在/root目录下 ...
- ssh免密登录linux服务器
Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...
- SSH服务及通过SSH方式登录linux
SSH服务及通过SSH方式登录linux 1.检查SSH服务转自:[1]Linux之sshd服务https://www.cnblogs.com/uthnb/p/9367875.html[2]Linux ...
- ssh远程登录linux服务器
ssh远程登录linux服务器 用法: ssh -l user -p port server_ip 或者 ssh -p port user@server_ip 参数: -l 后接要登录的远程系统用户名 ...
- ZH奶酪:putty远程登录Linux服务器非常慢
11.pytty远程登录Linux服务器非常慢 http://www.it165.net/os/html/201209/3425.html 12.启动SSHD服务报错 http://blog.chin ...
- Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录
1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...
随机推荐
- Android调用远程Service的参数和返回值都需要实现Parcelable接口
import android.os.Parcel;import android.os.Parcelable; public class Person implements Parcelable{ pr ...
- [css3]搜索框focus时变长
结构: <form class="demo-a"> <input placeholder="Search" type="sea ...
- js基础之弹性运动(四)
一.滑动菜单.图片 var iSpeed=0;var left=0;function startMove(obj,iTarg){ clearInterval(obj.timer);//记得先关定时器 ...
- POJ 3264 Balanced Lineup 线段树 第三题
Balanced Lineup Description For the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line ...
- C++-标准输入输出
1,cout 1) 用来向标准输出打印. 2) 如果参数是char*类型,则直接输出字符串.如果想要输出地址,则需要强制转换: <<static_cast<void*>(con ...
- Spring学习笔记之Bean的实例化
一.bean的实例化方法有3种, 1.构造器实例化 2.静态工厂方法实例化 3.实例工厂方法实例化 二.用构造器来实例化 <bean id="ShunDao" class=& ...
- C语言中动态分配数组
如何动态的定义及使用数组呢?记得一般用数组的时候都是先指定大小的.当时问老师,老师说是不可以的.后来又问了一位教C++的老师,他告诉我在C++里用new可以做到,一直不用C++,所以也不明白.今天在逛 ...
- App Store--心酸的上线路,说说那些不可思议的被拒理由
yoyeayoyea 您的应用包括色情内容(色情交易,色情展示). 原因是我们的销售人员,把几张艺术照放在个人相册里(头像),换成卡通头像,通过. 颜小风 被拒很正常 一次通过不正常. 之前上线 ...
- 使用开源工具MonoDevelop开发GTK#图形界面
转自:http://developer.51cto.com/art/201011/235040.htm Mono一直到现在的2.8已经完全可以胜任一些比较小的项目了,但相关的开发文档与教程一直比较匮乏 ...
- Ubuntu 14.10 下sort,uniq,cut,wc命令详解
sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...