ssh连接服务器

Easter79
• 阅读 705

1.概述

ssh是一种网络通信协议,用于计算机之间的加密登录.一般用ssh连接服务器有两种方式:密码认证与密钥认证. 密码认证就是通过传统的输入密码的方式登录,密钥认证就是把产生的公钥注册到服务器后,用私钥登录,这样就可以不用每次登录输入密码.特别适合作者这种脑残记不住密码的懒人.

2.密码认证

密码认证登录直接在终端使用ssh命令即可:

ssh username@xxx.xxx.xxx.xxx

username为用户名,后面为ip.

3.密钥认证

(1)产生公钥与私钥

这一步使用ssh-keygen命令生成id_rsa与id_rsa.pub文件:

ssh-keygen -t rsa -b 4096 -C "eamil"

其中email为你的邮箱. 然后一直enter就好了(当然你也可以修改参数,比如生成的公钥与私钥的文件名等,后面要对应).

(2)复制公钥到服务器

cd ~/.ssh
ssh-copy-id -i id_rsa.pub username@xxx.xxx.xxx.xxx

注意复制的是公钥(.pub结尾,不是私钥id_rsa).

(3)修改本地私钥权限

ssh连接服务器

若出现以上情况,根据提示说是私钥的权限问题,修改为:

chmod 600 id_rsa

在windows上使用wsl的要注意,wsl不能直接修改文件权限,需要修改一下/etc/wsl.conf文件(没有的话就新建).

vim /etc/wsl.conf

输入

[automount]
enabled = true
options = "metadata,umask=22,fmask=11"
mountFsTab = false

退出wsl重启.

(4)连接

ssh -i ~/.ssh/id_rsa username@xxx.xxx.xxx.xxx

如果上面配置没出现的话就可以连接上了.

(5)如果还是需要密码

先用密码认证的方式登录服务器,修改/etc/ssh/sshd_config(注意有一个d,/etc/ssh下有一个叫ssh_config的文件,不要ssh然后按tab....)

vim /etc/ssh/sshd_config

找到PasswordAuthentication这一行.

ssh连接服务器

修改为no. 然后重启服务:

service ssh restart

或者

/etc/init.d/ssh restart

重启服务后连接:

ssh -i ~/.ssh/id_rsa username@xxx.xxx.xxx.xxx
点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
ssh 免密码登录 与 密钥公钥原理讲解
前言由于最近频繁需要登录几个服务器,每次登录都需要输入密码,故相对麻烦。由于个人服务器用于实验,故对安全性要求不是很高,故想实现ssh免密登录。通过阅读ssh公钥私钥认证操作及原理(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Fliu
Wesley13 Wesley13
3年前
SSH概述与配置文件说明
一、什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录。在出现SSH之前,系统管理员需要登入远程服务器执行系统管理任务时,都是用telnet来实现的,telnet协议采用明文密码传送,在传送过程中对数据也不加密,很容易被不怀好意的人在网络上监听到密码。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可
Easter79 Easter79
3年前
ssh+scp基本使用
1sshssh一般用于连接服务器,可以使用密码认证与密钥认证的方式。1.1密码认证直接使用ssh即可:sshusername@xxx.xxx.xxx.xxxusername为用户名,后面为公网ip.若需要使用特定端口登录,加上p参数,比如使用12345端口:sshp
Chase620 Chase620
3年前
ssh-keygen详解
sshkeygen用来生成ssh公钥认证所需的公钥和私钥文件。ssh秘钥登录特点:1.安全;2.免输密码。对于安全级别较高的服务器,建议配好ssh登录后禁掉密码登录。缺点:略繁琐。如果你的只是临时登录一次,那么还是密码吧。一、生成秘钥秘钥对需要在你自己的机器上生成,然后把公钥放到服务器相应用户的~/.ssh目录执行下面命令,默认
Easter79 Easter79
3年前
ssh
sshkeygen生成gitssh密钥SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell。SSH登录是需要用户名和密码的,要实现无密码登录,就需要创建SSH密钥(sshkey),SSH密钥可以认为是和另一台电脑通信时
Easter79 Easter79
3年前
ssh的应用和vnc连接桌面
一、什么是ssh?1、SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。SSH之所以能够保证安全,原因在于它采用了公钥加密。2、SSH是传输层和应用层上的安全协议,它只能通过加密连接双方会话
Wesley13 Wesley13
3年前
ubuntu 18.04使用root用户登录ssh
ubuntu系统默认root用户是不能登录的,密码也是空的。如果要使用root用户登录,必须先为root用户设置密码打开终端,输入:sudopasswdroot然后按回车此时会提示你输入密码,在password:后输入你现在登录的用户的密码在ubuntu系统中,默认是不开启ssh使用root用户登陆的,在/etc/ssh/sshd\_c
Stella981 Stella981
3年前
Git使用总结
生成密钥1.打开GitBash,运行  \_sshkeygen  \_2.密钥生成空间\_~/.ssh/id\_rsa  \_(C:/User/.ssh)3.输入密码(不输入增直接回车跳过)4._~/.ssh/id\_rsa.pub_ (公钥), _id\_rsa_ (私钥)下载代码到本地
Stella981 Stella981
3年前
Linux配置SSH免密码登录
CentOS配置SSH免密码登录为例说明:SSH远程登录的安全外壳协议有两种身份认证机制:\用户名密码\密钥登录环境准备host1:192.168.0.10host2:192.168.0.11下面以host1ssh免密码登录到host2为例,进行说明1、在host1主机下生成私钥/公钥对执行如下命
Wesley13 Wesley13
3年前
4.11 重置密码 4.12 单用户模式 4.13 救援模式 4.14 ls命令 4.15 chmod命令
4.11重置密码忘记了root密码,没办法登录了。就需要重置密码了。用的是密钥认证,忘记root密码无所谓,只要你记得密钥密码即可。密码和密钥都支持远程登录,是不是说启用了密钥,密码就失效了。答案是:不是。二选一,你随便用哪一种都可以。那为什么还要使用密钥呢?因为密码相对密钥来说,更容易被破解。密钥认证指的是远程的ssh登录。而本
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k