SSH

简介:

什么是SSH(Secure Shell)

一种专为远程登录会话和其他网络服务提供安全性的协议。

通俗的说法就是:一台机器(client)需要访问另一台机器(server),如何实现免密码访问呢?那么就可以使用SSH协议啦。

使用方法

服务器(server,被访问方)和客户端(client,访问方)均可作为产生公、私钥的机器,但客户端须存放私钥。一般情况下,在客户端产生一对公、私钥。

(例子中使用的是从一台机器的root用户访问francis用户,模拟的是client访问server,原理相同)

例:从client访问server,client端用户是root,server端用户是francis,那么可以先在client端/root/.ssh目录下使用密钥生成命令

ssh_keygen

,然后将公钥拷贝到server端对应用户名

/home/francis/.ssh/authorized_keys

下,(使用服务器端哪个用户名登录就将公钥拷贝到该用户名下的/.ssh/authorized_keys内)。

这样操作完成之后,就可以在client端使用ssh username@ip命令登录到server端。

ssh francis@192.168.222.128

完整命令

以在client端生成公、私钥为例

# 在当前用户目录下产生一对公、私钥
ssh_keygen 
# 将公钥拷贝至server端
cp id_rsa.pub /home/francis/.ssh/authorized_keys 
# 以server端用户francis身份通过SSH免密登录server
ssh francis@192.168.222.128 

注意

1、当authorized_keys 中存有多个公钥时,后续的公钥将以追加至其末尾方式添加,命令为:cat id_rsa.pub >> authorized_keys。

2、不可随意更改公私钥的权限,默认是600,更改之后将会报错,如下方所示。

# 修改权限
chmod 644 id_rsa
# 访问出错
ssh francis@192.168.222.128
# 改回权限
chmod 600 id_rsa

3、退出远程访问时使用exit命令

4、client和server并非是固定不变的,随着访问和被访问的关系转变,它们的角色也将发生变化,这时就需要在server端(francis)生成公私钥,然后将公钥拷贝到root端authorized_keys。

cp /home/francis/.ssh/id_rsa.pub /root/.ssh/authorized_keys
目录
相关文章
|
3月前
|
安全 Linux Shell
|
5月前
|
安全 算法 Shell
ssh远程登录协议
ssh远程登录协议
|
5月前
|
Linux 网络安全 Windows
3分钟学会SSH
3分钟学会SSH
39 2
|
算法 Linux 网络安全
ssh的使用
因为个人更推荐通过服务器->本地->服务器来传输。
74 0
ssh的使用
|
安全 网络安全 数据安全/隐私保护
ssh服务介绍
基本介绍 ssh:安全的远程登陆 要有客户端与服务器端,客户端主动链接服务端,那么服务端地址是不能变的。 socket:套接字 标识应用唯一的地址 tcp/udp port端口号 cat /etc/service查看所有的端口号 备注:通过IP找到了这台机器,通过端口号找到相对应的应用程...
1467 0
|
Shell 网络安全
SSH 技巧
SSH 是 Linux 下进行远程连接的基本工具。 一般情况下我们可以通过 ssh username@xxx.xxx.xxx.xxx 登录远程服务器,如果要管理多台服务器,这样太长了。
1135 0
|
网络安全 数据安全/隐私保护 Perl
ssh服务使用介绍二
老司机开车了 快上车   上文提到当我们使用ssh远程链接主机的时候,会出现询问的提示,如果我们链接的机器多了,一遍一遍的输入是不是很麻烦?怎么解决如下 vim /etc/ssh/ssh_config 如图 小案列 1、远程链接图形化命令 有两台主机,192.168.43.6与192.168.43.7我当前用的是6,去链接远方主机7,而7这台主机是运行在命令行界面的系统。
1375 0
|
安全 Shell 网络安全
ssh服务
telnet 远程登录 协议,23/tcp C/S S:telnet服务器 C:Telnet客户端 明文传送 ssh Secure Shell,应用层协议 22/tcp 通信过程和认证过程都是加密的。
1294 0
|
网络协议 安全 网络安全
|
JavaScript 前端开发