配置无密码登录服务器

配置无密码登录服务器,第1张

目前大多数公司都有这样的 *** 作的服务器的,

A: 自己本地电脑
B: 跳板
C: 服务器

流程通常是这样
a => b => c

这样的话,如果通过ssh登录会需要你输入两次密码,比较繁琐

可以通过以下步骤,让你在自己本地,可以通过 ssh 4946 直接登录到服务器上边。

1, 配置A =>B ssh 无密码登录
2, 配置 B => C ssh 无密码登录
3, 在个人本地电脑上边的ssh 目录下边新建config
配置如下
Host tiaoban
hostname 180150189164(B的ip)
User zss(B的端口)
Port 122(B的用户名)
ForwardAgent yes

Host 4946
HostName 10107890 (C的ip)
Port 22(C的端口)
User book(C的用户名)
ProxyCommand ssh zss@tiaoban -W %h:%p

如果这样配置的话,可能会出现这个问题

还会让你输入服务器的密码
这时候把你个人本地生成的ssh 公钥上传到服务器的 ssh/auauthorized_keys 下边即可
这里有个问题,尽量不要从本地复制公钥到服务器上面,我最近一次配置,因为从本机上直接复制到服务器上,发现还是一直提示我输入密码,然后使用-vvt 也没看出个所以然,最后想了下,是不是本地的公钥有问题,于是去跳板机上把本机的公钥复制过去,果然成功了。
我用文件对比了下,发现是空格,可以看如下图所示:

中间有几个空格,可能就是这几个空格导致的一直提示需要输入密码,所以尽量从跳板机上把自己机器的公钥复制到服务器上面。

一、配置openssh服务器

1、ssh的配置文件是/etc/ssh/ssh_config,一般不要修改!
2、启动服务器!
#ntsysv =>确认将sshd前面的勾已打上!
3、手工启动OpenSSH:
#service sshd start
#service sshd restart(重新启动)
4、停止服务器:
#service sshd stop

二、使用OpenSSH客户端

Redhat linux 9默认已安装了OpenSSH的客户端,客户端和服务器连接时,可以使用两种验证方式:基于口令的验证方式和基于密匙的验证方式!
1、基于口令的验证方式
这种验证方式要求用户输入用户名称和密码!若没有指定用户名称和密码,则默认使用当前在客户机上的用户名!

例1:直接登陆
[root@wljs /]#ssh 2104516017
则登陆用户名为客户机当前用户名!
例2:指定用户名登陆
[root@wljs /]#ssh wwz@2104516017
或: [root@wljs /]#ssh –l wwz 2104516017
上面过程结束后,系统将会提示你输入用户名和密码!

2、基于密匙的验证方式
使用密匙的验证方式,用户先需要为自己创建一对密匙:公匙和私匙。(公匙用在要登陆的服务器上)
OpenSSH公开密匙的密码体制有RSA、DSA!
创建密匙:
例:[root@wljs /]#ssh-keygen –t rsa
回车后,要求输入使用密匙时的口令!这样便生成了公匙和私匙:放在用户主目录下的ssh目录下,文件名:id_rsapub和id_rsa!必须将公匙复制到登陆的服务器的~/ssh/目录下,并改名为:authorized_keys!然后,便可使用密匙方式登陆!
#ssh [–l username] ip地址或主机名

三、OpenSSH上常用的命令

1、不登陆远程系统使用命令
#ssh 2104516017 [命令] [参数]
2、本地系统和远程系统间文件的传输
#scp atxt root@2104516017:/btxt
#scp root@2104516017:/btxt /ctxt
3、sftp命令
Sftp 命令和ftp命令类似,它是OpenSSH提供的网络传输文件的小工具,它更加安全,使用和ftp相似的命令:主要有如下几个:
1、登陆
#ftp 2104516017
2、ftp 会话的打开与关闭
打开:open 2104516027
关闭:close
3、文件的传输
从ftp服务器上得到文件:
Get atxt
向ftp上放文件
Put atxt
4、退出ftp
Bye
5、其他
bell:每个命令执行完毕后计算机响铃一次
Cd ,ls 等一些常见命令也可以在ftp服务器目录中使用!

我介绍个通用的方法吧, 可以让不同的服务器用不同的ssh文件登陆
ssh-keygen -f xxx 生成指定的文件名xxx
ssh-copy-id -i xxxpub HOST 把公钥文件拷贝到指定的服务器
在ssh/config 配置文件下中加个密钥文件的定义

SSH作为Linux远程连接重要的方式,如何配置安装linux系统的SSH服务,如何开启SSH?下面来看看吧(本例为centos系统演示如何开启SSH服务)
工具/原料
linux centos
查询\安装SSH服务
1登陆linux系统,打开终端命令。输入 rpm -qa |grep ssh 查找当前系统是否已经安装
2如果没有安装SSH软件包,可以通过yum 或rpm安装包进行安装(具体就不截图了)
启动SSH服务2
安装好了之后,就开启ssh服务。Ssh服务一般叫做 SSHD
命令行输入 service sshd start 可以启动
或者使用 /etc/initd/sshd start
配置\查看SSHD端口3
查看或编辑SSH服务配置文件,如 vi /etc/ssh/sshdconfig
如果要修改端口,把 port 后面默认的22端口改成别的端口即可(注意前面的#号要去掉)
远程连接SSH4
如果需要远程连接SSH,需要把22端口在防火墙上开放。
关闭防火墙,或者设置22端口例外

ssh 为 secure shell 的英文缩写,是一种加密的网络传输协议。常用于登录远程服务器与在远程服务器上执行命令。

SSH 使用客户端-服务器模型,标准端口为 22。服务器端需要开启 SSH 守护进程接受远端的连接,而用户需要使用 SSH 客户端与服务端连接。

最常见的开源实现是 OpenSSH

登录:

在远程机器上执行 command,把 stdout,stderr 送回来然后断开连接:

常用参数:

scp 是一个命令行工具,是英文 secure copy 的缩写,用于在服务器和客户端之间传输文件, *** 作类似cp。

使用注意点:远程主机名后要加个冒号再跟路径。如:

SSH 以非对称加密实现身份验证。身份验证有多种途径,可以使用密码来认证,也可以通过实现配置好的密钥文件来认证。

通过密钥认证登录的条件:

我们通常使用 ssh-keygen 这个工具来生成公钥和私钥,如下:

这会生成两个文件 ~/ssh/id_rsa 和 ~/ssh/id_rsapub ,前者是私钥,我们应该小心保护,后者是公钥,应当将其放到服务端的 ~/ssh/authorized_keys 中去,我们可以使用 ssh-copy-id 这个工具来完成:

或者手动将其复制粘贴过去。

也可以使用如下命令:

跳板机,又常叫做“Bastion host”。

在企业中,业务服务器通常有 ip 限制,不允许直接从办公机登录,而是需要先登录一个跳板机,通过跳板机来登录业务服务器。

这样做的目的是:隔离内部网络,只允许从跳板机访问,那么我们只需要特别关注跳板机的安全配置就可以了,便于更好的进行安全控制。

我们可以配置 ssh 客户端,让 ssh 替我们处理跳板机的登录,避免多次输入命令的负担。

假设我们有跳板机 jumpserver 和 目标服务器 targetserver。

方法一、使用命令行的 -J 参数

方法二、配置文件: ~/ssh/config

然后就可以直接:

sshd 的配置文件: /etc/ssh/sshd_config 。

我们可以修改 sshd 的默认配置来增强系统的安全性,以下是一些需要注意的配置项:

1 打开MAC终端 /etc/ssh/ enter

2 sudo vim ssh_config (必须用管理员权限编辑,否则无法编辑)

3 shift + i 进入编辑模式, 在host下面加入 ServerAliveInterval 60 一项, 如下图

4 shift + : 输入wq退出

5 到此完成, 连接你的服务器试试效果吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13452338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-09
下一篇 2023-08-09

发表评论

登录后才能评论

评论列表(0条)

保存