配置无密码登录服务器 (c ssh连接服务器)
目前大多数公司都有这样的操作的服务器的,
A: 自己本地电脑
B: 跳板机
C: 服务器
流程通常是这样
a => b => c
这样的话,如果通过ssh登录会需要你输入两次密码,比较繁琐
可以通过以下步骤,让你在自己本地,可以通过 ssh 4946 直接登录到服务器上边。
1, 配置A =>B ssh 无密码登录
2, 配置 B => C ssh 无密码登录
3, 在个人本地电脑上边的.ssh 目录下边新建config
配置如下
Host tiaoban
hostname 180.150.189.164(B的ip)
User zss(B的端口)
Port 122(B的用户贺腊名)
ForwardAgent yes
Host 4946
HostName 10.10.78.90 (C的ip)
Port 22(C的端口)
User book(C的用户名)
ProxyCommand ssh zss@tiaoban -W %h:%p
如果这样配置的话,可能会出现这个问题
还会让你输入服务器的密码
这时候把你个人本地生成的ssh 公钥上传到服务器的 .ssh/auauthorized_keys 下边即可
这里有个问题,尽量不要从本地复制公钥到服务器上面,我最近一次配置,因为从本机上直接复制到服务器上,发现还是一直提示我输入密码,然后使用-vvt 也没看出个所以然,最后想了下,是不是本地的公钥有问题,于是去跳板机上把本机的公钥复制过去,果然成功了散知。
我用文件对比了下,发现冲拍消是空格,可以看如下图所示:
中间有几个空格,可能就是这几个空格导致的一直提示需要输入密码,所以尽量从跳板机上把自己机器的公钥复制到服务器上面。
相关问题拓展阅读:
使用ssh连接VirtualBox虚拟机
步骤:
虚拟机
的网络就相当于主机一样并行存在,所以当前主机要连接到路由器或交换机等设备,以使两个系统处于同一局域网。
NAT模式即虚拟机的网络是完全依赖于物理主机的网络。此时两个系统并不是处于同一局域网,不能简单的ping通;
但是可以设置Virtualbox在NAT模式(网络地址转换NAT)下的
端口转发
规则,通过设置规则可使主机连接虚拟机。
设置 -> 网络 -> 网络地址转换(NAT) -> 高级 -> 端口转发 -> 添加规则 :
示例:
测试是否安装ssh:
测试是否可以使用SSH连老亮接 :使用密码登录(设置好端口转发后)
因为端口不是常规默认的,所以需要指定 port
如进行ssh连接则在shell中输入:
进行sftp连接(其端口与ssh是一样的,因为它是ssh的一部分):
ftp连接:
可能并不成功,不知是不是防火墙的问题,使用sftp就好了,更安全。
将上面的 username 改为自己的。
前提是虚戚含者拟机中的Linux安装了ssh服务并开启,且关闭了防火墙(或添加了相应规则)。
安装ssh:
启动服务:
查看是否启动:
配置防火墙
此时在远程客户端进行连接测试,如果可行
Linux 上安装 ssh (Ubuntu & RedHat)
使用了动态防火墙:变更后无需重启系统。它不能与静态防火墙共存。
可以选择开启某个端口,或完全关闭防火墙
查看是否已经开启:
在列出的信息中,查看port开头的行是否包含 22 。
查看防火墙状态:
临时关闭防火墙:
永久关闭防火墙:
打开防火墙:
注意需要
root权限
。
关闭:
开启:
开机默认关闭防火墙:(即永久)
开机默认开启防火墙:
fedora不可用
参考:
SSH原理与运用(一):远程登录
SSH原理与运用(二):远程操作与端口转发
Asrchlinux wiki:
Secure Shell
(简体中文)
SSH keys (简体中文)
这部分不大全面。
公钥
是一串很长的字符,为了便于肉眼比对和识别,所以有了指纹这东西,指纹位数更便于识别且与公钥一一对应。
运行命令ssh-keygen采用rsa加密算法生成
密钥对
:
生成密钥对时,有一个选项要求你设置密码passphrase,该密码是用来保护你的私钥的密码。如果设置了则在使用私钥时会要求你输入这个密码;
一般不设置,记不住
【之后还可更改此密码,使用ssh-keygen -p】。
生成后更好将私钥进行备份。另还有 -C 选项,用于为指定注释
通常使用自己的邮件名作为注释
。
-b bits选项 Specifies the number of bits in the key to create. For
RSA keys
, the minimum size is 1024 bits and the default is 2023 bits. Generally, 2023 bits is considered sufficient. DSA keys must be exactly 1024 bits
示例:为了安全考虑使用RSA加密并设置 -b 4096
实际操作的一次示例:
指纹的用处之一是在使用SSH之一连接到某主机时,会返回该主机使用的公钥的指纹让你识别。示例:
把公钥上传到服务器端有很多方法:
使用sftp的示例:
使用ssh-copy-id的示例:
默认上传到 ~/.ssh/id_ecdsa.pub
上传之后:
导入公高薯钥内容到指定的文件中
保证 authorized_keys 文件的安全
sshd的
配置文件
位于: /etc/ssh/sshd_config
只需配置:
关闭服务器中的SELinux服务:
其配置文件是: /etc/selinux/config
在文件中添加:
重启系统 或 使用root账户运行: setenforce Permissive
服务器端重启ssh服务:
service sshd restart
连接时出现的提示信息
相关示例:
有一次出现:
这可能是我配置了两台虚拟机,虚拟机配置端口转发时设置的
IP地址
和端口都是相同的。才导致此提示该主机的指纹(也可能是指公钥)已经改变;更改了端口就没有问题了。(另一种做法是删除.ssh/known_hosts文件,以后连接时再全部重新导入)
后一次出现
这段提示用于提示你是否信任该主机(这里指服务器),如果输入yes则信任该主机并且将该服务器的公钥追加到 .ssh/known_hosts文件中。
ssh通道怎么用
参宽岩举培考该慎答御文章
从客户端来看,SSH提供两种稿局级别的安全验证。
之一种级别(基于口令的安全验证),只要知键闷让道自己的帐号和口令,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,这种验证方式不能保证你正在连接的服务器就是想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到中间人这种攻击方式的攻击。
第二种级别(基于密匙的安全验证),需要依靠密匙,也就是必须为自己创建一对密匙,并把公有密匙放在需要访问的服务器上。如果要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用密匙进行安全验证。
服务器收到请求之后,先在在该服务器的用户根目录下寻找你的公有密匙,然后把它和发送过来的公有密匙进行比较。如果两个密匙一致,服务器就用公有密匙加密质询(challenge)并把它发送给客户端软件。客户端软件收到质询之后就可以用罩橡私人密匙解密再把它发送给服务器。
扩展资料
SSH为较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初为UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
SSH在正确使用时可弥补网络中的漏洞。客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
使用OpenSSH工具将会增进你的系统安全性。 所有使用OpenSSH工具的通讯,包括口令,都会被加密。telnet和ftp使用纯文本口令,并被明文发送。
这些信息可能会被截取,口令可能会被检索,然后未经授权的人员可能会使用截取的口令登录进的系统而对系统造成危害。应该尽可能地使用OpenSSH的工具来避免这些安全问题。
参考资料来源:
百度百科-ssh
参考资料来源:
百度百科-Secure Shell
输入ip 用户名 密码就可以了
安全外壳协议(Secure Shell Protocol /局桥 SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。
常用的SSH工具有开源软件PuTTY,支持SSH远程登录的主机可以实现socks5代理服务器的功能,不过在PuTTY中没有配置文件,需要手动设置才能实拿腊旅现,且无法保存,而PuTTY完整版自带的pLink可以实现命令行方式调用PuTTY实现SSH的加密通道。
具体的方法是,下载这个文件后解压,pLink的调用参数是:plink -C -v -N -pw 密码 -D 本地端口 远程用户@IP或域名:远程希望打开的端口。
例如,远程IP为: 111.111.111.111,用户消凳名为username,密码为password,本地打开1080端口,远程打开22端口,则使用的命令为:@plink -N -D 127.0.0.1:1080 -pw password 。上面的这条命令可以保存为plink.bat的批处理文件直接双击运行,运行完成后,在Firefox中设置SOCK5为本地IP和端口即可。如果觉得pLink还麻烦,使用MyEntunnel(My Encrypted Tunnel)可以图形化实现这个功能。
配置好SSH之后,还需要配置Firefox浏览器,首先要在Firefox设置SOCKS远程域名解析,主要是为了防止DNS污染,具体设置方法是,在Firefox地址栏中,输入 about:config ,按确认,修改里面的一项数值,改成 network.proxy.socks_remote_dns=true 就可以了。
注:解释来源网络
c ssh连接服务器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c ssh连接服务器,配置无密码登录服务器,使用ssh连接VirtualBox虚拟机,ssh通道怎么用的信息别忘了在本站进行查找喔。