Ubuntu22.04 解决SSH Connection refused 问题

测试版本使用的Ubuntu 22.04,Ubuntu 16.4以上版本都可以这样配置。

最简单的方法:直接安装openssh-server,然后测试时候可以ssh登录,如果不可以,请使用下面的方法进行配置。

sudo apt install openssh-server

  1. 设置root密码

执行命令后,依次输入当前登录用户密码,要设置的root密码,确认root密码

sudo passwd root
2. 修改ssh配置文件

如果没有安装ssh-server,执行安装命令,已经安装的跳过即可

sudo apt install openssh-server
修改配置文件

sudo vim /etc/ssh/sshd_config
在vim中搜索定位PermitRootLogin,可直接查找:

/PermitRootLogin
修改以下配置:
33 #LoginGraceTime 2m
34 #PermitRootLogin prohibit-password
35 #StrictModes yes
36 #MaxAuthTries 6
37 #MaxSessions 10

修改为:

LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

  1. 重启ssh,使配置生效

sudo service ssh restart
现在可是使用root用户登录ssh了!!!

### 解决UbuntuSSH连接GitHub被拒的问题 当遇到SSH连接到GitHub时端口22连接拒绝的情况,通常有几种可能的原因和解决方案。 #### 防火墙设置 防火墙可能会阻止通过特定端口的流量。确认本地机器上的防火墙配置允许SSH通信。可以使用`ufw`(Uncomplicated Firewall)来管理规则: ```bash sudo ufw status ``` 如果发现防火墙阻挡了必要的端口,则需调整其策略以开放这些端口[^1]。 #### SSH服务状态 确保本机安装并启用了SSH客户端和服务端软件包,并且它们正在运行正常。对于Debian系Linux发行版来说,可以通过下面命令检查ssh的状态: ```bash systemctl status ssh ``` 若未启动则尝试重启该服务: ```bash sudo systemctl restart ssh ``` #### 测试网络连通性 有时问题是由于网络环境造成的。为了排除这种可能性,可以从另一台计算机测试同样的操作;也可以改变当前使用的网络再试一次。另外,利用`telnet`工具直接访问github.com的port 22来进行简单的可达性检测也是一个好办法: ```bash telnet github.com 22 ``` #### 修改Git远程仓库URL协议 考虑到某些情况下公司内部网或其他特殊环境中TCP/IP第22号端口可能受到限制,此时可考虑更改git@github...形式的地址为https://github.com/用户名/项目名.git的形式,从而绕过这个问题。不过需要注意的是这会使得每次提交都需要输入账号密码[^2]。 #### 使用非标准端口号 如果确实无法避开对22端口的封锁,还可以让SSH走其他可用端口。编辑~/.ssh/config文件加入如下内容指定不同的端口用于连接至GitHub: ```plaintext Host github.com HostName ssh.github.com User git Port 443 ``` 这样做的前提是目标服务器支持此替代方案,在这里指的是GitHub官方提供了经由HTTPS代理转发给SSH的服务选项[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值