分类: LINUX
2013-03-27 16:12:40
- sudo apt-get install openssh-server
三、加强安全性,去掉 root 用户和 密码登录 (如果上一步成功,可根据情况自行决定是否需要做这步,以下操作在服务器端) 。
- 本地生成密钥对(在终端执行命令,提示输入passphrase密码记得要记住,后面要用到)
默认会在 ~/.ssh/ 目录生成 id_rsa 和 id_rsa.pub 两个文件
- ssh-keygen -t rsa
- 上传公钥到服务器(详细过程描述)
- $ ssh-copy-id "-i ~/.ssh/id_rsa.pub testuser@192.168.56.101"
- 会提示输入远程服务器登录密码
- $ ssh -i ~/.ssh/id_rsa.pub testuser@192.168.56.101
- 中间有个提示,让你输入先前的passphrase密码,只需要输入一次,以后就再也不用输入了。
- 完成rsa 设置,登录测试一下
- ssh testuser@192.168.56.101
- 先备份,然后打开 /etc/ssh/sshd_config (注意:文件名,我第一次打开的是 ssh_config ,那个是终端的配置文件 )
- sudo cp sshd_config sshd_config.bak
- sudo vi /etc/ssh/sshd_config
- 找到 #PasswordAuthentication yes 这行,取消注释,变为:
- PasswordAuthentication yes
- 找到 PermitRootLogin yes 这行,改为
- PermitRootLogin no
- 重启动 sshd 服务
- sudo service ssh restart
四、可能碰到的问题:
ssh远程登录慢的原因
有时候在ssh远程登录到其他主机上时发现登录时间太长,要等待很久才会出现输入密码的提示,主要有两个问题会导致ssh登录慢:
1.使用了dns反查,这样的话当ssh某个IP时,系统会试图通过DNS反查相对应的域名,如果DNS中没有这个IP的域名解析,则会等到DNS查询超时才会进行下一步,消耗很长时间。
修改方式:
vim /etc/ssh/sshd_config
增加一行记录:UseDNS no
默认情况下会有一行被注释掉的记录#UseDNS yes,虽然这条记录被注释掉了,但ssh缺省情况下UseDNS的值是yes,所以要显式的指定该值为no。
重新启动ssh服务
远程登录会快很多。
2. 这种情况在本地主机或远程主机启动图形的情况下比较明显,该参数似乎是在做图形方面的认证,具体功能还不清楚,但修改以后可以明显提高ssh远程登录速度。
vim /etc/ssh/sshd_config
修改GSSAPIAuthentication参数为 no,默认是yes
重新启动ssh服务