SSH登陆服务器的方式(在Linux终端)
0.首先你需要在终端安装SSH (sudo apt-get install sshd)
并在终端开启SSH服务 (sudo service sshd start)
1.使用在服务器上创建的远端密码和用户名来实现连接
在Linux终端上的操作命令行如下:
ssh [email protected]
passward:
完成此操作你就已经登上了远端的服务器了利用公钥和私钥的验证来实现免密登陆
2.1.首先我们要了解公钥和私钥工作的方式,详细可以百度,简单地说即为当远端服务器中有你公钥,而你手中有私钥时,经过他们互相的验证,即实现了安全的免密登陆私钥 机密 可对你的私钥设置密码
公钥 等同于安全的身份识别号或银行卡号
2.2.那么如何生成我们需要的公钥和私钥呢?
打开自己的终端
命令如下:
mkdir .ssh //创建一个文件名为.ssh的隐藏文件夹
cd .ssh/ //进入此文件夹
ssh-keygen //此时正在生成公钥和私钥
一路回车默认生成在当前文件夹中,即.ssh ,而校验时默认检索文件即为.sshd
遇到Enter passphrase(empty for no passphrase):时,请设置密码,这是一个好习惯 !
好啦你现在有公钥和私钥啦 !
默认的公钥名为id_rsa.pub,私钥为id_rsa
2.3.接下来要把公钥上传到远端服务器上
利用在1当中所描述的用户名和密码的方式登陆到远端服务器上
执行命令如下:
mkdir .ssh //创建一个文件名为.ssh的隐藏文件夹
cd .ssh/ //进入此文件夹
logout //退出远端
在自己的终端上,执行命令:
cd .ssh/ //再次进入 .ssh文件
scp id_rsa.pub [email protected]:.ssh/ //将公钥远程复制到远端服务器的.ssh文件当中(默认的公钥名为id_rsa.pub)
enter your passward //输入远端密码基本操作完成!
!为什么说基本完成呢?因为文件在服务器当中都是有权限等级的
3.1.文件权限简介(部分)
修改文件权限:
利用数字类型修改权限
chmod [-R] xyz filename|dirname -R:表示递归修改
Linux文件的基本权限有9个,分别是owner,group,others三种身份各自的read,write,execute权限,3个一组.可以用数字代表各个权限:
r:4
w:2
x:1
利用2进制表示,1代表有此权限,0表示没有此权限:
—: 000 => 0
–x: 001 => 1
-w-: 010 => 2
-wx: 011 => 3
r–: 100 => 4
r-x: 101 => 5
rw-: 110 => 6
rwx: 111 => 7
因此:若将文件的权限修改为rwxrwx—,则对应的数字为 770.
eg: 将/etc/fstab文件的所有权限都启用: chmod 777 /etc/fstab
(以上修改文件权限内容摘自:https://blog.csdn.net/qq_36193761/article/details/78817500)
3.2 修改权限
现在有了这些基础知识
在远程终端输入:
ls -l .ssh //我们可以查看内部文件的权限等级
cd .ssh/ //进入文件
chmod 644 .ssh/xxx.xxx //(xxx.xxx为文件名)将权限等级修改为 644
complete!
4.如何在其他平台或者同平台的SSH工具上解决远程连接问题首先,理论上我们只要持有私钥就可以通过任何平台实现这一操作,事实却也是这样的
4.1. 跨平台分享私钥
这可以通过邮件附件,聊天工具等
4.2.在SSH工具装载私钥(密钥)
将保存下来的私钥导入到SSH工具当中,若在2.2中设置了passphrase需要键入
4.3.在SSH工具连接远端服务器
命令:
ssh [email protected]