免密登录,密钥登录,远程登录

远程登录

我们启动linux系统之后,打开Xshell链接两个虚拟机,像我们这样的小白我是使用两个虚拟机(自己配置一个可以克隆一个,改变一下静态IP就可以),练习的时候在Xshell里链接两个虚拟机。

在其中一个虚拟机中敲入命令:ssh-keygen -t  rsa   其中 rsa是密钥对的格式,回车之后会出来交互语句:

第一句话的意思是将生成的密钥对放在哪个文件夹,

第二句话的意思是给密钥对设置密码(我选择空=直接回车)

第三句话的意思是确认一遍密码(继续回车)

进入当前用户的家目录中,查看已经生成的公钥和密钥,因为使用自动生成的命令,在linux系统中,默认将密钥对放在家目录的.ssh文件中,因为.ssh文件是隐藏文件,所以我们用 ls -al 查看就可以看到.ssh文件夹。

.pub结尾的文件就是公钥的意思,下一步我们就要将公钥放到你想要登录的另一台虚拟机上,我们一般使用ssh-copy-id  另一台用户名@ip地址(主机名)  【我们加入 -i的命令可以指定特定的文件夹下的文件】,输入命令行之后回车,他会提醒我们是否确定链接  我们输入  (yes)我们在设置免密码登录,第一次的时候需要你输入当前用户的密码,之后输入 密码回车,系统提示您链接并且传输成功。

现在我们可以登录另一台的虚拟机,对应用户的家目录下查找.ssh文件夹中就会多出authorized-keys 文件

在这里我们要注意一点,我们使用的都是命令自动生成的密钥对,那么我们必须保证的两点就是.ssh文件的权限是700而 authorized-keys的权限必须是600,为了防止不必要的错误发生,这种情况使我们在不使用自动的命令下我们在一台虚拟机中将公钥拷贝到另一台虚拟机中,那就需要我们自己创建.ssh文件夹和authorized-keys文件,我们在要拷贝的文件目录下使用scp  文件名  用户名@ip地址 :目标目录,这时候我们就需要注意  .ssh的权限必须是700 同时 公钥的名字必须叫authorized-keys 并且权限必须是 600。

这样我们就基本配置成功了远程登录的操作,直接在 有密钥的虚拟机上  ssh  ip地址  就可以进行测试 。

在我们的配置过程中可能会出现一种情况就是虚拟机阻止root用户远程登录(为了系统安全),如果我们要使用root用户远程登录的话,就需要修改配置文件中的内容,我们必须切换到root用户,然后vim /etc/ssh/sshd_config  ,我们在修改配置文件的时候再好进行一下备份,这样不会出现误操作导致系统崩溃。

在这个配置文件中我们可以修改系统的默认端口号(链接xshell时候选择的22就是默认端口号)

接下来往下走我们会看到是否允许root用户登录,在这我们可以根据需求更改是否同意root用户登录

往下走我们还可以看到公钥的存储位置,我们也可以修改公钥的默认存储位置 (刚学最好不要改 嘻嘻)

免密登录

我在学习的时候使用的是xshell客户端学习的,所以我给大家说一下在xshell里配置免密登录,其实就是一个密钥在本地,公钥在虚拟机里,很好理解的。

在xshell中进行如下操作:

点击下一步,可以自动生成密钥对,下一步会显示是否需要密钥对密码,一般我不会填写直接略过,下一步之后我们就可以看到公钥里面的内容了,我们可以直接选择复制,然后将他粘贴到我们的.ssh下的authorized_keys,没有可以进行新建。注意文件名和权限千万不要写错了,我就犯过这种低级的错误,然后在xshell中选择工具,把密钥添加进去,然后就可以不需要密码登录了!~

接下来,你就可以喝个咖啡庆祝一下了!!!!

时间: 2024-08-29 15:07:55

免密登录,密钥登录,远程登录的相关文章

xshell 使用密钥验证远程登录linux

使用xshell做密钥验证远程登录linux: 我这里用的工具:xshell 5 及 centos 6.5 首先在工具栏选择新建用户密钥生成向导,进行密钥对生成操作 下一步 生成公钥对,下一步 这里也可以直接点"完成",这里选"下一步"(原因看下一张图) 选中公钥复制,保留,或者保存为文件,后面要用到 在服务器端,保存公钥到服务器,修改相关文件 [[email protected] ~]# mkdir .ssh [[email protected] ~]# vim

putty生成密钥SSH远程登录注意步骤及报错解决方法

putty生成密钥SSH远程登录注意步骤及报错解决方法 报"Putty server refused our key"(解决)排查步骤: 1..ssh文件夹权限和authorized_keys文件权限 1-1创建.SSH目录及authorized_keys文件 mkdir –p /root/.ssh touch authorized_keys 1-2 修改目录及文件权限 Chmod 700 .ssh Chmod 600 authorized_keys 2. Selinux安全机制和Ip

CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户

CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户: 最近在写一个自动化部署的Shell脚本,需要通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户, 经过一番查找和实验,得到以下几个命令,给大家分享一下: 修改初始密码:mysqladmin -uroot -pvyCE2UwSaqx3xofR password "123456" 开启远程登录,授权远程登录用户:mysql -uroot -proot -e "grant

Linux OpenSSL:基于密码和密钥的远程登录

SSH: Secure shell, prototol, 22/tcp,安全的远程登录 OpenSSH: ssh协议的开源实现 ssh协议版本 v1: 基于CRC-32做MAC,不安全: man-in-middle v2: 双方主机协议选择安全的MAC方式, 基于DH算法做密钥交换,基于RSA或DSA算法实现身份认证: 两种方式的用户登录认证:基于Password & 基于key OpenSSH:    C/S Client: ssh, scp, sftp, Server: sshd 备注:Wi

MySQL 用户登录密码和远程登录权限问题

1.mysql数据库,忘记root用户登录密码. 解决如下: a.重置密码 #/etc/init.d/mysqld stop #mysqld_safe --user=mysql --skip-grant-tables --skip-networking & #mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILE

使用Xshell密钥认证远程登录linux

1.首先保证有一个窗口连接着linux系统,如下图1中的1 1. 2.在菜单栏点击工具--新建用户密钥生成向导 3.密钥类型-RSA -->密钥长度-1024--> 下一步 4.生成公钥 5.生成的用户密钥名称可自定义,密码需牢记,后边需要用到 6.保存到安全的地方,并命名 7.在连接系统1这个窗口中,创建/root/.ssh,若有则不需要,同时需要修改目录权限为700,并把公钥的内容保存到/root/.ssh/authorized_keys中,具体操作如下: [[email protecte

Mysql只能本地登录,无法远程登录

netstat -apn |grep 3306 如果输出结果包括tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -时,说明监听的host为127.0.0.1,只能本地访问,需要设置监听host: 需要修改监听的host sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 注释掉bind-address = 127.0.0.1, 即#bind-address = 127.0.0.1 重启服务 sudo /etc/init.d/my

[CentOS 7系列]使用密钥认证机制远程登录

当服务器操作系统没有配置远程密钥认证时,默认需要手动输入密码口令. 以下用putty为例: 1.使用putty远程ssh登录192.168.137.100这台主机 2.第一次登录选择"是(Y)",信任该主机,缓存该主机登录信息. 3.登录时,要输入正确的账户和口令,才能正常登录该主机. 下面使用putty和xshell演示如何使用密钥机制远程登录: 一.使用putty密钥认证机制登录 1.打开putty安装目录中的putty key generator软件,点击"Genera

SSH远程登录配置文件sshd_config详解

SSH由客户端和服务端的软件组成,在客户端可以使用的软件有SecureCRT.putty.Xshell等,而在服务器端运行的是一个sshd的服务,通过使用SSH,可以把所有传输的数据进行加密,而且也能够防止dns和IP欺骗,此外,SSH传输的数据是经过压缩的,可以加快传输速度 其服务器端的配置文件为/etc/ssh/sshd_config [[email protected] ~]# cat /etc/ssh/sshd_config#       $OpenBSD: sshd_config,v

linux操作日志:远程登录设置

想要远程linux服务器,首先需要在服务器上开通ssh服务,安装命令如下: sudo apt-get install openssh-server   在上图的提示中,输入“y”,继续等待安装,安装成功后如下图所示   启动ssh-server服务,默认情况下安装结束后就自动启动了,可以用下列命令进行确认: ps -e |grep ssh,如果看到截图中的sshd说明ssh-server启动成功了 启动sshserver命令:service ssh start 或者sudo /etc/init.