ssh服务安装 和 免密登录

目录

1、SSH Server 服务安装

1.1、安装OpenSSH服务器 并设置开机启动

安装 ssh

启动ssh

设置ssh开机启动

重启SSH服务器

查看ssh服务状态

1.2 配置 SSH 服务器

更改SSH服务器监听的端口(可选)

禁止Root登录(推荐)

设置允许访问的用户

2、Linux生成密钥和公钥

3、免密登录

3.1 初级:携带密码登录

3.2 中级:免密登录

3.3 高级用法


1、SSH Server 服务安装

1.1、安装OpenSSH服务器 并设置开机启动

安装 ssh

在开始配置SSH服务器之前,我们需要先确保系统上已经安装了OpenSSH服务器软件。大多数Linux发行版都会默认安装OpenSSH服务器,但是为了确保,可以使用以下命令进行检查和安装:

sudo apt update
sudo apt install openssh-server
启动ssh
sudo systemctl start ssh
设置ssh开机启动
systemctl enable ssh
重启SSH服务器

完成配置后,需要重启SSH服务器才能使配置生效。可以使用以下命令重启SSH服务器:

sudo service ssh restart
查看ssh服务状态
sudo systemctl status ssh

1.2 配置 SSH 服务器

SSH服务器的配置文件位于/etc/ssh/sshd_config。可以使用文本编辑器(如vi、nano等)打开该文件进行配置。

更改SSH服务器监听的端口(可选)

默认情况下,SSH服务器监听的端口是22。为了增加安全性,可以选择更改为其他未被使用的端口。在配置文件中找到以下行,并将其注释掉(在行前面添加#),并添加新的端口号。

#Port 22
Port 12345
禁止Root登录(推荐)

禁止root用户直接登录是一个很好的安全措施。在配置文件中找到以下行,并确保其被设置为“no”。

PermitRootLogin no
设置允许访问的用户

可以在配置文件中使用AllowUsers参数定义允许访问SSH服务器的用户。可以指定多个用户,使用空格分隔。

AllowUsers user1 user2

2、Linux生成私钥和公钥

先查看有没有路径 ~/.ssh , 如果有证明以前生成过了,如果没有就需要重新生成。

# 生成密钥
ssh-keygen -t rsa -b 4096  -P "" -C "xxxxx@163.com"

-t 指定密钥类型, dsa | ecdsa | ed25519 | rsa
-b RSA类型密钥的大小(长度),通常至少应该是 2048,默认 3096
-C 指定一个邮箱
-P 指定密码(空字符串表示ssh连接时不需要输入密码)

1 不用上面那么多参数配置,输入如下命令即可,其他默认:

ssh-keygen -t rsa

# 或者添加邮箱
ssh-keygen -t rsa -C "你的邮箱"

2  直接三次回车:会生成两个文件:~/.ssh/ id_rsa / 和~/.ssh/id_rsa.pub,分别为私钥和公钥

私钥:id_rsa,公钥:id_rsa.pub

3、免密登录

3.1 初级:携带密码登录

1.安装 sshpass

sudo apt-get install sshpass

2.携带密码登录

sshpass -p '12345678' ssh username@10.0.5.10

3.2 中级:免密登录

方法1:把本机公钥 id_rsa.pub 加入到服务器的~/.ssh/authorized_keys 文件中, 如果没有authorized_keys 文件,则创建一个 touch authorized_keys

公钥内容,即id_rsa.pub 文件中的内容复制下来,copy到服务器的 ~/.ssh/authorized_keys 文件中即可

方法2:将本机公钥复制到 authorized_keys 文件中,然后将authorized_keys复制到服务器的 ~/.ssh/ 路径下

# 将本机公钥复制到 authorized_keys 文件中
cat id_rsa.pub >> authorized_keys

 然后,通过下面指令就可以免密码登录到远程机器了。

ssh username@10.0.5.10

3.3 高级用法

上面的方法还是要输入 username@IP 依然感觉很麻烦,更简单的方法是:

0、先使用中级的方法实现免密登录后,再执行下面的操作

1、在本地机器的目录 ~/.ssh 下找到config文件(若不存在,自己创建一个 touch config),按如下进行配置, 如果有多个远程机器,则配置多个即可

Host vps                 # vps 是一个便于你区别这是哪台机器的名字
    HostName xx.xx.xx.xx # 目的机器的ip
    User username         # ssh登陆时候的用户名
    Port 22               # ssh所使用的端口,默认是22,如果不是自行修改
    # IdentityFile /Users/.ssh/id_rsa    # 本地私钥文件路径,注意:这个不知道什么用,可以不设置,也可以用

配置完成之后,下面指令就可以直接免密登录远程机器了

ssh vps

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值