ubuntu修改ssh配置文件(ubuntu2004修改ssh端口)

http://www.itjxue.com  2023-03-05 22:43  来源:未知  点击次数: 

修改ssh服务器默认端口

查看当前ssh服务器默认端口

sudo netstat -tunlp | grep "ssh"

修改默认ssh服务器端口

找到ssh服务器的配置文件,ubuntu系统为/etc/ssh/sshd_config,使用下面的命令修改

sudo vim /etc/ssh/sshd_config

找到Port 22? ? 这个的意思就是22为现在登陆ssh服务器可以访问的端口

再添加一个Port 10000~65535区间的端口号,防止被系统或者其他软件占用

修改完配置文件后,需要重启一下ssh服务(最好也重启一下服务器),让其新的监听端口生效,使用下面命令

systemctl restart sshd

shutdown -r now

尝试通过刚刚你设置的端口登陆ssh

ssh root@localhost(ip地址) -p xxxxx(端口号)

登陆上后,将刚刚sshd_config中的Port22注释掉就行了

把服务器防火墙的22端口删除即可

ubuntu系统网络配置&ssh配置

该配置环境为ubuntu16.04.2

(一) 网络配置

安装完成系统后网络配置如下:

第一步:ifconfig -a 查看有几个网卡

如下截图表示有四个网卡

第二步:找出接线网卡

执行命令:ifconfig +网卡 up

例:up 第一个网卡enp4s0f0

ifconfig enp4s0f0 up

然后执行命令: ethtool enp4s0f0? 查看Link状态,如下截图:

如果是yes表示该网卡已经接线 ,尝试手动配置ip(配置方法请见下一步骤)。如果是no,继续ifconfig up其他网卡,直到找到yes的为止。如果全部是no,请检查网线是否接好

第三步:配置网卡ip(只有临时作用,再次重启服务器配置会失效)

命令:ifconfig enp11s0f1 10.57.23.13/25

说明:配置网卡 enp11s0f1? IP为10.57.23.13 掩码是25位。即255.255.255.128

配置好截图如下:

第四步:检测连通性

尝试ping 网关,如果网关不通,表示直连不通,请检查网线和配置。网关通,接着配置默认路由,见第五步

第五步:配置路由(临时,重启后失效)

route add default gw 10.57.23.1 (默认配置这一条后,内网可以正常访问),如果不能,添加如下明细:

route add -net 10.0.0.0/8 gw 10.57.23.1

route add -net 192.168.0.0/16 gw 10.57.23.1

route add -net 172.16.0.0/12 gw 10.57.23.1

route add -net 100.64.0.0/10 gw 10.57.23.1

第六步:写入配置文件(永久)

注:一定要写入配置文件

ubuntu为何不直接在最开始写入配置文件里。因为ubuntu直接写入配置文件,不重启服务器貌似不生效(个人经验)

vim /etc/network/interfaces 可以直接在这里修改,具体配置如下:

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto enp11s0f1? ? ?

iface enp11s0f1 inet static

address 10.57.23.13

netmask 255.255.255.128

gateway 10.57.23.1

####添加路由,这样网卡服务重启之后这些路由就会加载

up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.57.23.1

up route add -net 192.168.0.0 netmask 255.255.0.0 gw 10.57.23.1

up route add -net 172.16.0.0 netmask 255.240.0.0 gw 10.57.23.1

up route add -net 100.64.0.0 netmask 255.192.0.0 gw 10.57.23.1

重启网卡服务之后,配置的路由会自动加载,如下:

(二) 修改ssh 配置文件

ubuntu系统安装,默认是禁止root直接登录的

vim /etc/ssh/sshd_config

修改:PermitRootLogin yes

然后重启ssh服务 /etc/init.d/ssh restart

ubuntu配置ssh server

ubuntu版本是Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-66-generic x86_64),所有操作在一台机器上进行。

1. 安装:

sudo apt-get install openssh-server

2. 启动ssh服务:

sudo /etc/init.d/ssh start

3. 以账号密码ssh登录(不安全):

ssh root@localhost

???? 通过以上命令以root身份登录会失败,第一是配置中默认不允许通过密码登录,另外是root密码由系统设置,需要先设置密码。root身份涉及到安全,一般强烈不建议这么做。但是我们为了研究一下,就是要用root身份登录怎么办?

1)修改登录配置。

sudo vim /etc/ssh/sshd_config

??? 打开这个配置文件后,找到配置项PermitRootLogin,当前的设置是prohibit-password。

PermitRootLogin prohibit-password

??? 我们修改一下,设置为允许root身份以密码登录。

PermitRootLogin yes

#PermitRootLogin prohibit-password (这行保留,仅仅只是注释掉)

??? 修改完成后,重启ssh服务生效。

sudo /etc/init.d/ssh restart

2)修改root密码。

hhh:~$ sudo passwd

[sudo] password for hhh:

输入新的 UNIX 密码:

重新输入新的 UNIX 密码:

passwd:已成功更新密码

hhh:~$

??? 按照以上命令成功修改后,就可以用root身份本地登录了。验证一下,用su命令后提示输入密码,成功登录后提示符从$变为#,说明进入root模式。通过exit可以退出root模式,退出后提示符又变回$。

hhh:~$ su

密码:

root@hhh:~# exit

exit

hhh:~$

3)以root身份ssh登录本机

hhh:~$ ssh root@localhost

root@localhost's password:

Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-66-generic x86_64)

* Documentation:?

* Management:? ?

* Support:? ? ? ?

1 个可升级软件包。

0 个安全更新。

*** 需要重启系统 ***

Last login: Fri Apr 14 09:58:03 2017 from 127.0.0.1

root@hhh:~#exit

注销

Connection to localhost closed.

??? 登录成功,试验完毕。为了回到安全状态,执行sudo vim /etc/ssh/sshd_config,将原来注释掉的PermitRootLogin prohibit-password

打开,新添加的yes选项注释掉或者删掉。

4. 以公钥认证ssh登录

1)在客户端生成密钥对。

hhh:~$ ssh-keygen -t rsa -C "hhh@le.com"

Generating public/private rsa key pair.

Enter file in which to save the key (/home/hhh/.ssh/id_rsa): /home/hhh/.ssh/ida_rsa_hhh

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/hhh/.ssh/id_rsa_hhh.

Your public key has been saved in /home/hhh/.ssh/id_rsa_hhh.pub.

The key fingerprint is:

SHA256:zB/IVbBNJ4hcdYXEiBN4eZTmvjSp7M9M889lTS1K5ZQ hhh@le.com

The key's randomart image is:

+---[RSA 2048]----+

|? ? ? . ++O*=+o.|

|? ? ? ? + *==+o. |

|? ? ? ? .o=. E? |

|? ? ? + o? .+? .|

|? ? ? ? S ....o o|

|? ? ? ? . o=. o.|

|? ? ? ? ..o+o? +|

|? ? ? ? ? o+.o o.|

|? ? ? ? ...+ ..o|

+----[SHA256]-----+

? ? 密钥文件默认存放在当前用户目录下的.ssh目录下,公钥文件是id_rsa.pub,私钥文件是id_rsa。如果之前已经生成过密钥对,需要重新指定文件路径存放新的密钥对,如上所示,将文件路径重新指定为/home/hhh/.ssh/ida_rsa_hhh。

2)将公钥上传到对应服务端

??? 需要将客户端生成的公钥上传到服务器,并且拷贝到对应用户的.ssh目录下。我们这里是本地登录,客户端用户账号和服务端要登录的账号是同一个账号,所以这一步就省略掉了。然后,将公钥放入到授权文件中。

cd ~/.ssh

cat id_rsa_hhh.pub authorized_keys

chmod 0600 authorized_keys(仅允许本用户读写,否则可能被修改)

3)尝试ssh登录普通账号并退出

ssh hhh@localhost

Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-66-generic x86_64)

* Documentation:?

* Management:? ?

* Support:? ? ? ?

1 个可升级软件包。

0 个安全更新。

*** 需要重启系统 ***

Last login: Thu Apr 13 17:28:07 2017 from 127.0.0.1

hhh:~$ exit

注销

Connection to localhost closed.

5. 尝试ssh登录root账号

hhh:~$ ssh root@localhost

root@localhost's password:

Permission denied, please try again.

??? 无法登录。这里要解决两个问题,一个配置成可以root登录,另一个是要配置公钥文件。

??? 首先,修改配置文件。sudo vim /etc/ssh/sshd_config, 找到PermitRootLogin,将其后面no改为yes。

??? 其次,类似普通用户的公钥文件配置,在/etc/ssh目录下做一个类似~/.ssh目录下的authorized_keys文件。此处,我们可以简单拷贝这个文件过来。sudo cp ~/.ssh/authorized_keys /etc/ssh/authorized_keys。这个authorized_keys里面如果存有多个公钥,将会带来安全隐患,所以要按需拷贝,此处只是为了省事,就直接把文件拷贝过来了。

??? 再次试验,成功登录并退出。

hhh:~

$ ssh root@localhost

Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-66-generic x86_64)

* Documentation:?

* Management:? ?

* Support:? ? ? ?

1 个可升级软件包。

0 个安全更新。

*** 需要重启系统 ***

Last login: Fri Apr 14 13:51:38 2017 from 127.0.0.1

root@hhh:~# exit

注销

Connection to localhost closed.

hhh:~$

??? 试验结束,记得将原来的配置文件改回去并重启ssh服务。

Ubuntu允许root远程登录配置

1.背景

近期在本地的虚拟机VMware上安装了Ubuntu Server 17.04,由于系统是无界面的,所有操作都需要通过Linux命令进行操作。后来不想直接在服务器上操作,想通过远程工具Xshell去访问Linux系统。却发现根本连接不上。后来查资料,原来需要在Ubuntu上安装SSH协议软件,因为Ubuntu默认是不安装SSH服务的。安装了SSH服务后发现其他用户可以通过Xshell远程访问了,root用户访问会报密码被拒绝的错误,上网查资料,发现Ubuntu默认是不开启root远程登录的,需要设置一下。

2.实现

(1)检查是否开启SSH服务

命令:ps -e|grep ssh 查看SSH服务是否开启,或者通过命令:service sshd status 可以查看某个服务的状态。

(2)安装SSH服务

通过apt-get 安装,命令:apt-get install ssh

(3)启动SSH服务

命令:sudo /etc/init.d/ssh start

(4)修改SSH配置文件

命令:sudo vim /etc/ssh/sshd_config,找到PermitRootLogin without-password 修改为PermitRootLogin yes

(5)重启SSH服务

命令:service ssh restart

(责任编辑:IT教学网)

更多

推荐3DMAX教程文章