Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接
SSH最常见的用途是远程登录系统,利用SSH来传输命令行界面和远程执行命令非常常用
举个例子,不管你使用Windows系统还是macOS,都可以使用ssh远程连接Linux服务器,从而在你自己的主机上,运行Linux系统环境,或者完成文件的互传
比如笔者有一台Ubuntu的云服务器和一台装了Debian系统的surface,可以用我的主力台式机使用ssh很方便的管理这两台机器
你的被连接的主机必须要安装openssh服务,比如我要连接到我的Debian或者Ubuntu,那么他们都需要安装openssh
Debian或者Ubuntu的安装如下:
sudo apt-get install openssh
启动服务:
sudo service sshd start
查看是否已经启动:
ps -ef | grep sshd基于口令的远程ssh连接
只需在命令行输入
ssh user@hostname
user处填写用户名,hostname处填写IP地址或域名
如下图所示,我的用户名是zarathustra,ip是192.168.13.113如果是连接远程服务器的话,且已绑定域名,可以把ip替换为域名
这里会有一个确认的流程,输入yes后即为确认,之后输入密码,即可实现基于口令的ssh连接
这种方法更适用于和服务器进行ssh连接,因为服务器ip是公网ip,ip是不变的
但是如果是和局域网内的主机ssh连接,由于局域网内ip易于变动,则不推荐这种方式
生成公钥与私钥:
使用key-gen命令生成公钥与私钥
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa):
之后一直回车即可创建完成rsa公钥与私钥,文件默认被存储到.ssh目录下
配置authorized_keys:
需要将上述步骤中生成的公钥(.pub文件)写入到远程服务器的 ~/.ssh/authorized_keys文件中
如果远程系统上的帐户中尚未包含~/.ssh/authorized_keys文件,则需要手动创建
mkdir -p ~/.ssh touch ~/.ssh/authorized_keys
至此,可以通过ssh user@ip 访问远程服务器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)