配置ssh常常遇到一些问题,接下来是避免踩坑,快速配置ssh
相信大家在设置ssh时,会碰到"Permission denied, please try again."
⚠️敲黑板:
- 有可能是密码输入错误
- 有可能是防火墙未关闭
- 有可能是连接机器的root用户没有配置密码
- 有可能是ssh配置错误
1 安装ssh服务
1.以VM为例,将网络适配器修改为桥接模式,确保连通外网
2.升级apt-get
$ sudo apt-get update # 更新源
$ sudo apt-get upgrade # 更新已安装包
3.安装ssh服务器、ssh客户端
$ sudo apt install openssh-server # 安装ssh服务器
$ sudo apt install openssh-client # 安装ssh客户机
2 下载vim
默认情况下,新装的Ubuntu上也有安装vim,但是这个vim是vim-common版本,操作起来特别不方便,所以要先删除这个版本,然后安装vim
$ sudo apt-get remove vim-common # 卸载vim-common版本
$ sudo apt-get install vim # 下载最新版本的vim
3 配置sudo免密操作
1.修改sudoers文件权限
$ chmod 770 /etc/sudoers
2.使用vim,修改sudoers配置文件
# step 1
$ sudo vi /etc/sudoers
# step 2
:<密码> # 输入安装Ubuntu系统时设置的密码
# step 3
···
#%sudo ALL=(ALL:ALL) ALL # 找到这一行,在开头添加"#"
%sudo ALL=NOPASSWD: ALL # 添加新的一行 %sudo ALL=NOPASSWD:ALL
···
# step 4
:wq! # 保存配置文件
# step 5
$ reboot # 重启生效
3.将sudoers文件权限改回最初状态
$ chmod 440 /etc/sudoers
4 关闭防火墙
$ sudo ufw disable # 重启生效
5 配置命令行自动补全
默认情况下,新装的Ubuntu上没有Tab键自动补全功能,以下是3行指令:
$ apt-get install bash-completion # 下载最新版本的bash-completion
$ sudo -s # 切换到root
# source /etc/bash_completion # 重新执行刚修改的初始化文件
6 配置ssh
1.配置ssh_config
$ sudo vi /etc/ssh/ssh_config # 去掉PasswordAuthentication yes前面的"#"号
2.配置sshd_config
$ sudo vi /etc/ssh/sshd_config
# 在PermitRootLogin prohibit-password这行行首加上"#"
# 在此行下面添加新一行
PermitRootLogin yes
7 配置root用户密码
$ sudo passwd # 输入密码,并确认密码
8 查看本机ip
默认情况下,新装的Ubuntu上没有没有ifconfig指令,所以我们要先安装net_tools
$ sudo apt install net_tools # 安装最新版本的net_tools
$ ifconfig -a # inet <ip地址> 就是远程ssh的ip
9 验证:使用ssh远程连接
$ ssh <user>@<ssh_ip> # 本例以root用户,ssh远程连接ip为10.40.20.241