SSH(Secure SHell protocol)服务器

SSH(Secure SHell protocol)服务器:
SSH协议预设提供两个服务器功能:
1、类似telnet的远程联机使用shell的服务器,亦即是俗称的ssh
2、类似FTP服务的sftp-server,提供更安全的FTP服务
SSH使用上,主要是利用RSA/DSA/Diffie-Hellman 等机制
常见的网络封包加密技术通常是藉由所谓的[非对称密钥系统]来处理:两把不一样的公钥与私钥(Public and Private Key),同一方向的联机中,两把钥匙是需要成对的
公钥:提供给远程主机进行数据加密
私钥:用来数据解密,在本机上,不可外流

SSH有版本1和2,V2比V1更安全,加上了联机检测的机制,尽量使用v2版本的SSH
公钥与私钥是放在 /etc/ssh/ssh_host*,公钥有.pub后缀,私钥没有

ssh客户端联机程序-Linux用户
ssh:直接登入远程主机的指令
ssh [-f] [-o 参数项目] [-p 非正规端口] [账号@] IP 指令
选项与参数:
-f :需要配合后面的指令,不登入远程主机直接发送一个指令过去而已(很快)
-o 参数项目: 主要的参数项目有:
ConnectTimeout=秒数 :联机等待的秒数,减少等待的时间
StrictHostKeyChecking=[yes|no|ask]:预设是ask,若要让publickey主动加入
known_hosts ,则可以设定为no即可
-p :如果你的sshd服务启动在非正规的端口(正规端口是22),需使用此项目

建议使用emai的方式登入远程主机,例如:ssh [email protected] 即ssh 主机名@IP
使用ssh登入过一次后就不会再提示要增加主机公钥的信息了
服务器的公钥记录文件在此目录下:~/.ssh/known_hosts 即家目录的.ssh目录下
ssh服务中的账号必须为远程主机上存在的账号
相同IP的公钥不同提示错误时,按提示数字删除 /.ssh/known_hosts 下的那一密钥行

模拟FTP的文件传输方式:sftp
sftp 指令的用法与ssh很相似,是用在上传/下载文件,例如:sftp 用户名@主机名
在不考虑图形接口的FTP软件时,可以关掉FTP服务,直接使用 sftp-server来提供FTP服务
登陆后输入?查看可执行的指令

已经知道服务器上的档案名了,最简单的文件传输是透过scp指令,用法如下:
scp [-pr] [-l 速率] file [账号@]主机:目录名
<==上传,这的目录是远程主机的目录,file是本地主机的文件
scp [-pr] [-l 速率] [账号@]主机:file 目录名
<==下载,这的目录是本机的目录,file是远程主机的文件
选项与参数:
-p :保留原本档案的权限数据
-r:复制来源为目录时,可以复制整个目录(含子目录)
-l :可以限制传输的速度,单位为Kbits/s,例如 [-l 800]代表传输速率是100Kbytes/s
例:将本机的 /etc/hosts全部复制到127.0.0.1上面的student家目录
scp /etc/hosts
[email protected]:~

ssh客户端联机程序--windows用户:
使用第三方软件,例如:pietty、psftp、filezilla、putty(常用)等
putty、pscp、psftp三款软件对应linux的ssh、scp、sftp三个指令
pietty(台湾的)完全兼容于putty

使用sftp-server的功能:psftp
在putty官网下载psftp程序,直接打开即可
psftp> open 远程主机IP
输入用户名和密码即可进入

图形化接口的sftp客户端软件:Filezilla

所有的sshd服务器详细设定都放在:/etc/ssh/sshd_config 此文件中设定值前加#的是默认值,可依据它来修改,修改后需要重启sshd服务生效

任何服务,修改配置文件后都最好重启服务

制作不用密码可立即登入的ssh用户:
1、客户端建立两把钥匙:
在客户端上输入指令:ssh-keygen [-t rsa|dsa] <==可选rsa或dsa,不知道则默认是rsa(一路回车按下去)
查看:ls -ld ~/.ssh; ls -l ~/.ssh
2、将公钥档案数据上传到服务器上:
scp ~/.ssh/id_rsa.pub [email protected]:~ <==上传到dmtsai的家目录底下
3、将公钥放置到服务器端的正确目录与文件名:
1、在服务器将从客户端上传的id_rsa.pub数据附加到authorized_keys(没有则用root 建立)档案内:
ls -ld .ssh/ 查看这个目录,不存在则新建,权限务必是700,且属于使用者本人的账号与群组才行
mkdir .ssh;chmod 700 .ssh 假设不存在 .ssh/目录时,则使用此指令创建和修改权限
2、将公钥档案内的数据使用cat转存到authorized_keys内:
ls -l *pub 查看是否存在
cat id_rsa.pub >> .ssh/authorized_keys
chmod 644 .ssh/authorized_keys authorized_keys这个档案权限要是644
ls -l .ssh 查看权限和所属
至此,即实现了不需要密码即可使用ssh相关的客户端指令。可加入任务计划定时执行了
原理就是将客户端某账号生成的public key(就是id_rsa.pub)copy到需要远程的主机上,并新增到某账号的 ~/.ssh/authorized_keys中

若非必要,不要将sshd对Internet开放可登入的权限,尽量局限在几个小范围内的IP或主机名即可!通过修改ssh_config配置文件实现

原文地址:http://blog.51cto.com/3134965/2133110

时间: 2024-10-09 20:42:04

SSH(Secure SHell protocol)服务器的相关文章

SSH Secure Shell显示服务器Tomcat后台内容

作为linux小白,只有学一点记一点了: 部署服务器的时候,经常需要向本地一样查看控制台输出,在linux上可以通过查看日志输出替代,当然也可以通过命令让日志实时显示在命令窗口,这对用惯了windows的我来说非常有用: tail命令: 功能:tail 命令用于显示文本文件的末尾几行. 示例如下: tail example.txt 显示文件 example.txt 的后十行内容: tail -n 20 example.txt 显示文件 example.txt 的后二十行内容: tail -f e

SSH Secure Shell Client安装和使用

SSH是一个用来替代TELNET.FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题.为了系统安全和用户自身的权益,推广SSH是必要的. SSH是英文Secure Shell的简写形式.通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗. SSH Secure Shell Client是一款不错的远程linux的工具,下载地址:http://down.51cto.com/data/643694,缺点就

SSH Secure Shell Client中文乱码的解决方法

这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要'UTF-8'编码,Windows中文版的编码是非UTF-8.zh_CN.UTF-8是UTF编码的中文语言环境.Windows使用的是GB2312编码,大多数linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码,所以会出现乱码的问题:现有几种解决方案: 方案一:修改linux服务器的环境变量 使用linux,在用户根目录下有一个.bash_profile配置文件,该配置只对当前用户有效.若对

Linux学习笔记二:Ubuntu安装SSH(Secure Shell)服务

Ubuntu默认是没有安装SSH(Secure Shell)服务,如果想要通过ssh链接到Ubuntu,我们需要手动安装ssh-server. SSH分客户端ssh-client,服务端ssh-server. 1.判断服务器是否安装ssh服务,可以用如下命令 ssh localhostssh: connect to host localhost port 22: Connection refused  //这个表示还没有安装ssh服务 2.安装命令sudo apt-get install ope

SSH Secure Shell 的使用

一,安装Secure Shell ,之后会出现SSH Secure Shell client 和SSH Secure File Transfer client 两个快捷方式. 需要服务器的IP地址,用户名和密码,就连上服务器了. 二,使用SSH Secure File Transfer client 上传要运行的源程序文件. 三,编译源程序 使用命令 g++ /home/olap/lyr/main.cpp -lpthread 编译程序. 其中/home/olap/lyr/main.cpp 是源程

VNCServer,SSH Secure Shell Client,window远程控制linux

1.VNC远程连接linux图形化桌面 2.SSH Secure Shell Client连接linux终端 3.设置FTP与linux传输文件 1.VNC远程连接linux图形化桌面 在centos下运行: yum -y instll vnc vnc-server 运行完后,rpm -q vncserver 却提示:package vncserver is not installed ,不知道什么原因,yum search vnc 发现有好几种版本,选择运行 yum install tiger

利用SSH secure Shell实现windows与linux之间传输文件

在windows下安装SSH secure Shell.默认安装后有两个快捷方式. linux下需要安装openssh-server utuntu默认安装了opens是-client,所以不需要安装,但是如果没有安装的话,再用apt-get install安装即可. 然后确认sshserver服务是否打开 ps -e | grep ssh 如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动

SSH Secure Shell Client--- the host may be dow

the host may be down,or there may be a problem with the network connection. Sometimes such problems can also be caused by a misconfigured firewall. 遇到这样的问题可能有这几个情况: 1.在安装centos的时候没安装ssh 2.sshd_config与ssh_config配置问题 3.IP问题 4.防火墙问题 一.安装CentOS  SSH yum

Putty、XShell、SecureCRT、SSH Secure Shell Slient哪个好用?

现在大多是用的xshell,因为xshell有一款个人免费的,还是中文界面,对于这种四级都是勉强过的,真心不错.putty因为太小了,所以常常有很多功能不能满足.securecrt在功能上跟xshell(XManager中文版网站)差不多,但是securecrt是英文版的还要收费,所以就果断抛弃了SSH Secure Shell Slient,这款软件使用的不太多,一般使用最多的就是securecrt和xshell了,介于免费的原因,所以推荐使用xshell. 作者:璐璐姐链接:https://