ubuntu禁止Root进行SSH远程登录,并修改SSH默认22端口

只要修改相关的配置文件并重启服务

配置文件

服务器是: /etc/ssh/sshd_config

客户端是: /etc/ssh/ssh_config


禁用Root:

修改服务器端的etc/ssh/sshd_config 文件 

将PermitRootLogin yes

改为PermitRootLogin no

如果词句前面带有”#”号, 则去掉 “#” 号

最后重启sshd服务器:

sudo /etc/init.d/sshd restart


修改端口:

客户端vi /etc/ssh/ssh_config 修改 Port 端口号

服务器vi /etc/ssh/sshd_config 修改 Port 端口号

两端端口号保持一致,最好不同于其他常用服务的端口。


配置文件修改好,重启服务OK


免密码登录:

1.在Server端的用户家目录下建立.ssh隐藏文件夹(若已经存在,则无需操作)


2.在Client端执行ssh-keygen

执行过程中,它先要求你确认保存公钥的位置(默认为:.ssh/id_rsa),

然后它会让你重复输入一个密码两次,如果不想在使用公钥的时候输入密码,可以留空

执行完毕后,就会生成数据Client端的一对密钥。


3.SSH 密钥默认储存在账户的家目录下的 ~/.ssh 目录中

关键是看有没有用 xxx_rsa 和 xxx_rsa.pub 来命名的一对文件,有 .pub 后缀的文件就是公钥,另一个文件则是密钥。

生成的一对公私钥,顾名思义:

公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。


4.在Server端用户家目录下的.ssh隐藏文件夹下创建authorized_keys文件(若已经存在,则无需操作)


5.将Client端的公钥文件内容复制到Server端的authorized_keys文件内


6.更改 authorized_keys 文件的权限 chmod 600  authorized_keys


7.这时再执行ssh 用户名@主机IP 时就不用再输入密码了.


你可能感兴趣的:(ubuntu禁止Root进行SSH远程登录,并修改SSH默认22端口)