```
设置开机启动 : chkconfig sshd on
打开终端,使用下面的ssh-keygen来生成RSA密钥和公钥.-t表示type,就是说要生成RSA加密的钥匙.
RSA也是默认的加密类型.所以你也可以只输入 ssh-keygen .默认的RSA长度是2048位.如果你非常注重安全,那么可以指定4096位的长度.
生成SSH Key的过程中会要求你指定一个文件来保存密钥,按Enter键使用默认的文件就行了.然后需要输入一个密码来加密你的SSH Key.密码至少要20位长度.SSH密钥会保存在home目录下的ssh/id_rsa文件中.SSH公钥保存在ssh/id_rsapub文件中.
查看 ssh/id_rsa 文件就会看到,这个文件是经过加密的(encrypted).也就是用你输入的密码来加密.
scp -P 2222 root@>首先在CentOS Linux上面设置好ssh服务,然后确保在Windows电脑上能用ssh远程登录到那台Linux主机上(可以使用PuTTY这个免费软件)。然后在Windows上安装一个WinSCP,这个软件也是免费的,打开WinSCP软件,先选择scp协议,这样就能利用Linux上开放的ssh来上传文件,然后输入ssh登录的用户名和密码,连接成功后,WinSCP软件界面的左边是本地文件,右边是Linux的目录,然后就能随便上传文件,也可以从Linux复制文件到本地Windows系统。以SSH
Secure
Shell
Client
329连接centos65服务器为例。1,下载安装SSH
Secure
Shell
Client
329此过程没有什么技术含量,默认安装就可以了。“SSH
Secure
Shell
Client”是“SSH安全Shell客户端”,连接服务器后出现的是字符命令 *** 作界面;“SSH
Secure
File
Transfer
Client”是“SSH的安全文件传输的客户端”,连接服务器后出现的是文件管理界面2,打开SSH,点击界面左上角的电脑标志,然后在d出的对话框中输入服务器的IP地址(公网IP),和账号——然后点击右边的“connect”按钮——输入密码,点击OK,进入到CentOS65中的命令字符界面,这样就成功连接上服务器了。
远程云服务器其实不复杂,希望对不会远程连接云服务器的朋友有所帮助。默认配置
Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:
ssh IP地址1
一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:
ssh 用户名@IP地址 -p 端口号1
如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。
密钥登录
每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。
首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。
ssh-keygen1
然后将本地公钥添加到服务器中,需要使用另一个命令:
scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径1
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。1 ssh简介以及本例的应用场景
① ssh的简介
SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
② 本例的应用场景
用户在client(Linux)上通过ssh远程执行server(Windows)上的命令,比如c:\testbat
注:Linux版自带ssh Server且默认启动,具体设置方法请参见google。
2 ssh服务器的安装(Windows)
ssh服务器软件有许多中,我们这里使用的是免费的freeSSHd。
① 首先从官方站点下载软件并安装(>首先说一下使用ssh远程连接服务器执行命令的方法:
为了方便描述,这里把测试服务器称之为A1,目标服务器称之为A2
如果可以直接登录到A2,则配置成功!
下面来说问题:
ssh在远程连接服务器执行命令的时候,经常会遇到环境变量的问题,如下:
如果出现上面的提示,则说明环境变量配置有问题。
先来说解决办法
问题解决!
这里就要说明bash有两种方式interactive + login shell模式和non-interactive + non-login shell模式
在服务器上执行命令,走的是interactive + login shell模式,而通过远程登录执行命令,走的是non-interactive + non-login shell模式。
这两种模式对于环境变量的读取是有区别的。
Shell首先会加载/etc/profile文件,然后再尝试依次去加载下列三个配置文件之一,一旦找到其中一个便不再接着寻找:
~/bash_profile
~/bash_login
~/profile
所以当远程执行命令时,我们只需要让~/bashrc文件中的环境变量与/etc/profile中的环境变量一致即可!
参考:
如何解决SSH远程执行命令找不到环境变量的问题
是一种加密的网络传输协议。
可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
使用频率最高的场合类Unix系统,但是Windows *** 作系统也能有限度地使用SSH。2015年,微软宣布将在未来的 *** 作系统中提供原生SSH协议支持,Windows 10 1809 版本已提供可手动安装的 OpenSSH工具。
扩展资料
ssh结构
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1x和2x。 用SSH 2x的客户程序是不能连接到SSH 1x的服务程序上去的。OpenSSH 2x同时支持SSH 1x和2x。
1、服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
2、客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
3、他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。SSH 1x和SSH 2x在连接协议上有一些差异。
SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。
启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用 # ps -waux | grep sshd 来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理 。
参考资料来源 百度百科-ssh
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)