linux下SSH密钥登录VPS服务器的方法

linux的默认登录方式是账号和密码登陆,如果改成用密钥登陆的话会相对安全一些,但密钥登陆有利也有弊,想登陆VPS的话必须随身携带密钥文件,如果修改了默认root用户名还要修改相应的对应关系比较繁琐。
好了下面讲解如何用密钥登陆吧

准备工作:

mkdir .ssh
touch /root/.ssh/authorized_keys

1.创建一把锁和一把钥匙

运行:ssh-keygen -t rsa 三次回车

生成公钥id_rsa.pub和私匙id_rsa,默认存放在/root/.ssh/目录下

(PS:id_rsa.pub相当于锁,id_rsa相当于钥匙)

2.把锁装到门上去

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

#赋予相应权限

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

OK现在门锁和钥匙已经建好了。再来配置一下登陆方式

vi /etc/ssh/sshd_config

#root用户不能从没有密匙的计算机上登录

PermitRootLogin without-password

#关闭密码方式意思就是只能用密匙登陆

PasswordAuthentication no

参数详解:

PermitRootLogin without-password #这样"root"用户就不能从没有密匙的计算机上登录。把这个选项设置成"no"将禁止"root"用户登录,只能用"su"命令从普通用户转成"root"。
PasswordAuthentication no #是否启用口令验证,把这个选项设置为"no"只允许用户用基于密匙的方式登录。这当然会给那些经常需要从不同主机登录的用户带来麻烦,但是这能够在很大程度上提高系统的安全性。基于口令的登录方式有很大的弱点。

OK服务器上配置好了,下面就是如何本地登陆的操作了,方法如下。

1.先把钥匙id_rsa下载到本地电脑,打开PuTTYGen这个软件点击Conversions->Import Key导入钥匙。在PuTTYGen中选择Save private key,会在本地生成一个PPK文件。

2.在Putty中填入IP地址端口等。然后在SSH授权方式中选择密钥,选择生成的PPK文件最后点击OPEN即可登陆VPS了。

 

时间: 2024-09-16 15:19:37

linux下SSH密钥登录VPS服务器的方法的相关文章

linux中ssh密钥登录失败解决办法

今天我在设置ssh密钥登录的时候,发现这个奇怪的情况,我将我的id_rsa.pub密钥内容拷贝到远程linux主机的A用户的.ssh下的authorized_keys(这个文件我手动建立的)下,但是再次登录时,发现还需要输入密码,额?这不科学!然后我查看了一下远程linux主机的sshd日志 /var/log/secure 发现了如下日志输出内容: Authentication refused: bad ownership or modes for file /home/sysadmin/.ss

linux中ssh密钥登录失败问题解决办法

搞一个ssh的密钥登录,结果发现就是无法使用密钥登录,非让我输入密码.苦恼. 输入ssh连接代码 ssh -i private.key -v user@host.com -p22 从连接的信息中看不出有什么问题. debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Next authentication method: publickey debug1

linux下#1045 无法登录 MySQL 服务器

#1045 无法登录 MySQL 服务器一般是密码错误 由于忘记了mysql的密码了,需要重设密码,但是debian下重设mysql密码有些麻烦,试了好多方法才成功,现在记录下来: 直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: mysql -udebian-sys-maint -p   Enter password: < client>   mysql<use mysql;   mysql< UPDATE user SET Pass

Linux 下安装 vnStat 监控 VPS 服务器流量

一.使用编译安装 此方法适合所有的 Linux 发行版本 首先,从官网下载 vnStat : wget http://humdi.net/vnstat/vnstat-1.11.tar.gz 解压: tar xvzf vnstat-1.11.tar.gz 进入目录: cd vnstat-1.11 编译安装: make && make install 如果没有 make 命令,则需要安装 gcc 和 make CentOS 下: yum -y install gcc make Debian /

Linux 下 SSH 命令实例指南

Linux 下 SSH 命令实例指南 如果你已经在IT圈内混久了, 应该对 SSH 这个了不起的工具及其安全特性有所耳闻吧. 本教程可以让你在短时间内掌握通过 SSH 安全便利地连接到远程计算机的技术. 如果你对 SSH 还没什么概念, 可以先访问 维基百科 进行了解. 基本用法 最简单的 SSH 命令只需要指定用户名和主机名参数即可. 主机名可以是 IP 地址或者域名. 命令格式如下: $ ssh user@hostname 比如要在我的局域网内登录一个树莓派系统, 只需要简单的在命令行输入如

CentOS下SSH无密码登录的配置文件_Linux

1.确认本机sshd的配置文件(需要root权限) $ gedit /etc/ssh/sshd_config 找到以下内容,并去掉注释符"#" RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 2.如果修改了配置文件需要重启sshd服务 (需要root权限) $ /sbin/service sshd restart 配置SSH无密码登录需要3步: 1.生成公钥和私

linux下SSH远程连接服务慢解决方案

1.适用命令及方案如下: [远程连接及执行命令] ssh -p22 root@10.0.0.19 ssh -p22 root@10.0.0.19 /sbin/ifconfig [远程拷贝:推送及拉取] scp -P22 -r -p /etc root@10.0.0.19:/tmp/ scp -P22 -r -p root@10.0.0.19:/tmp/ /etc [安全的FTP功能] sftp -oPort=22 root@10.0.0.19 [无密码验证方案] 例如利用sshkey批量分发文件

急求Linux下局域网内搭建Email服务器方法,!!!在线等!

问题描述 急求Linux下局域网内搭建Email服务器方法,!!!在线等! 5C 我是一个Linux初学者,最近需要搭建一个email邮件服务器,同局域网内主机间可以相互通过这个邮件服务器发邮件,拜托了,这个真的很急!最好有详细的教程和步骤! 解决方案 http://wenku.baidu.com/link?url=KWhkeraxxKKZMNzT6LtX_7BNaGDZXyUgzneTBDgvqebBt5JMpSzCyiNTK7WjXFoqa2j24aERXjTq62OErzw6Hs8ncAc

请问ubuntu16.04下ssh连接到远程服务器出现奇怪的乱码

问题描述 请问ubuntu16.04下ssh连接到远程服务器出现奇怪的乱码 但是在ubuntu下的虚拟机下的centos下连接是不会出现乱码的, 而在mysql下的数据库下的都不会乱码,请问这是怎么回事,谢谢.